본문 바로가기

보안

해킹이론 요약

가상환경(컴퓨터 안에 가상운영체제)를 만들어서 칼리리눅스로 공격자 비박스로 피해자 역할해서 실습하였음

 

버프스위터 사용법

  • 버프스위터 intruder: 여러 값들을 대입하고 그 결과들을 보여준다
  • repeater : request를 수정해가며 response를 반복적으로 볼때 사용한다

 

칼리리눅스 인터넷 안될때 오른쪽위 네트워크 끊었다가 다시 연결하면 된다

 

공격방법과 대응법들 


html 인젝션, php인젝션 높은방어력은 < 같은 기호를 의미없는 문자로 변환해버린다
iframe 태그는 html안에 또다른 html 문서를보여주는 태그이다. 하드코딩해서 iframe 인젝션을 방어한다.
os명령어삽입은 escapeshellcmd 라는 함수로 sql삽입은 real_escape_string 라는 함수로 주석처리되어서 막힘 
미리 sql문을 서버가 준비해놓고(prepared statement) 숫자입력 부분만 받아와서 예방가능하다
sql 인젝션이 먹혔지만 웹에서 1개만 보여주는 경우가 있는데 limit 2,1(두번째부터 1개 출력)문을 추가해서 하나씩 볼수있다
sqlmap은 url,쿠키값 등 옵션을 작성해서 sql공격을 자동화하는데 sleep 함수는 ddos공격이 됨으로 빼고 한다
메타익스플로잇은 알려진 취약점을 타켓에게 적용하는 도구이다
blind sql인젝션: 직접적인 데이터 노출은 없지만 sql문에 참거짓 반응은 할때 글자하나하나 알아내서 전체를 알아낸다
eval 함수(넘긴 것 실행)는 사용하지 않는걸 권장한다
php인젝션으로 시스템명령(공격자의 백도어파일 다운로드)을 사용하여 아웃바운드(본인이 밖으로 연결)는 잘 안막는 방화벽을 우회할수있다
xss스크립팅 stored 방식 : 게시물을 클릭하면 그곳의 자바스크립트가 실행된다
xss reflected: url에 script코드 삽입 , 혹은 url에 리다이렉션 파라미터가 있다면 그것을 공격사이트로 바꿀수도 있다
robot.txt 파일에서는 검색엔진에 노출될 파일을 선택한다
webdav는 off여야한다. 클라이언트가 put 메소드 등을 이용해서 파일만들기 가능하다
기밀 데이터를 base64나 sha1으로 암호화하면 쉽게 해독된다 sha 512 등을 사용하여 서버에서 암호화하자
arp 스푸핑: 근거리통신망에서 arp프로토콜(ip주소와 mac주소(기기주소) 대응)을 공격자 mac주소로 바꿔놓는다
arp 스푸핑은 https 프로토콜(ssl로 암호화)로 막는데 sslstrip 이라는걸로 해독이 될수있다고 한다
하트블리드: 연결유지할때 openssl 신호를 보내는데 홍길동이라고 500글자 보내라고 하면 옆에 메모리 내용까지 보낸다
url에 ../입력하여 서버 디렉토리 검색가능하다
remote file inclusion : 파이썬으로 포트열고 url에 내 ip/포트/파일이름 적어서 웹서버가 악성파일 다운받게 할수있다
local file inclusion : 웹서버 파일을 읽어오는 공격   ./doucment 아니면 실행 안되게 하거나 지정된파일인지 확인하고 처리해서 막는다 
csrf : 공격자가 악성코드 게시물에 등록 사용자가 게시물에 접근하면 사용자 권한으로 코드 실행
제로데이공격: 버그가 알려진 후 패치가 이뤄지기 전에 공격
셸쇼크취약점: 리눅스환경변수에 빈 함수로 넣으면 그 뒤 코드는 무조건 실행되는 버그
포트포워딩: 중간라우터가 외부트래픽을 내부네트워크의 특정포트로 전달 이를 통해 내부망 침입
파일업로드 할때 .php 등을 금지했을때 확장자를 php3로 바꿔서 우회할수도 있다
virustotal 이라는 사이트에서 악성코드로 탐지가 되는지 확인해보면 백신에 걸릴지 예상할수있다
weevely 라는 프로그램으로 사이트에 업로드한 파일(저장된 경로를 안다면)과 세션을 맺고 다양한명령어(사이트정보출력 등)을 사용할수있다

 

리눅스 몰랐던 명령어 

 

wget:  파일 다운로드 
grep: 파일 내 특정 문자열 찾기 

'보안' 카테고리의 다른 글

모의해킹 면접준비 (by gpt)  (2) 2024.10.14
해킹 시나리오 #1 (메타스플로잇)  (1) 2024.10.12