본문 바로가기

etc/Technical Documents

Spoof src-ip TCP 3-way handshaking 일단 제목은 src의 ip를 속여서 target에 tcp connection을 맺을 수 있느냐에 관한 연구였는데, 결론부터 말하자면 거의 불가능 하다고 볼 수 있다. 그래도 이 내용을 읽고 누군가 신박한 해결책을 내 주길 바라면서 적어본다. [+]python raw_socket 사용python에서 raw_socket을 사용한 예제 소스를 수정해서, src ip를 조작할 수 있는 프로그램을 만들어 보았다.''' Raw sockets on Linux Silver Moon (m00n.silv3r@gmail.com) ''' # some imports import socket, sys from struct import * from time import sleep # checksum functions needed .. 더보기
[Metasploit] android meterpreter 분석 정구홍 멘토님의 부탁으로 간단하게 작성해보았습니다. 더보기
peda 유용한 명령어 정리 sgrep 문자열 패턴을 찾아준다vmmapxinfocontexttelescopejmpcall jmp reg or call reg 가젯을 찾아준다.gennop shellcodeassembleskeletonrefsearchlookup asmsearchropsearch 간단한 가젯을 찾아준다dumprop ropgadgetelfheaderelfsymbol dumpmemloadmemcmpmemxormempatch pdisassnearpcpltbreakdeactiveunptrace stepuntil instructionnextcall functionnextjmp addresstracecalltraceinst waitforsnapshotassembleprocinfo [address($pc)]procinfopshowp.. 더보기
ret to libc *조건*ret까지 오버플로우가 가능할때*스택에서 코드 실행불가 해결해야할 것*setreuid는 어떻게 선행실행되어야 하는가? 추가해야할 사항*오메가 프로젝트의 system의 인자로 쓰레기값을 줄때 쓰레기값의 이름으로 파일을 생성하여 심볼릭 링크 걸기 system 함수 사용하기(Ret2Libc) //bash2입력 안해도됨. gdb [실행파일 아무거나]b mainrprint system //시스템 함수의 주소확인 //0x40058ae0 cat > whereisshell#include main(){long shell = 0x40058ae0while(memcmp((void*)shell,"/bin/sh",8)) shell++;} gcc -o whereisshell whereisshell.c ./whereisshe.. 더보기
.dtors overwrite 소개-------gcc로 컴파일 되어진 c 프로그램의 실행 흐름을 조절 할 수 있는 기술에 대해 설명한다. 참고-------dvorak의 exploit 개요------- gcc로 컴파일 되어진 c 프로그램에서, constructors와 destructors 란 두가지 영역이 있다. 이 두가지 영역은 아래와 같은 방법으로 프로그래머에 의해 작성되어 질 수 있다. static void start(void) __attribute__ ((constructor)); static void stop(void) __attribute__ ((destructor)); GNU C 의 특성중 하나인 함수 속성을 정할수있는 기능인 __attribute__ 를 이용하여 함수를 콘스트럭터와 디스트럭터로 선언 할 수 있다. 그러므로.. 더보기
Fake ebp 이 기법을 적용하는데에는 다음 조건이 맞으면 활용하기 좋다.1.ret이후로는 덮어 씌울수 없다.2.ret에 스택 or 라이브러리를 필터링 해놓았다. 이 기법의 이름 대로, ebp를 바꾸는 작업을 통해 다른 부분에서 ret을 뽑아낼수 있도록 바꿔주는 기법이다. 일단 모든 거의 모든 함수에는 다음과 같은 에필로그가 존재한다. leaveret 이 두가지 어셈블리는 다음과 같이 해석할수 있다. mov esp ebppop ebp pop eipjmp eip 그렇다면 이것을 이용하여 ebp를 내가 원하는 곳으로 조작할수 있고, return address에는 leave-ret의 가젯의 주소를 넣어 놓는다면, 필터링이 되지 않는 곳에서 return을 하거나, RTL공격시 인자를 주는 행위가 가능해진다.이것이 이 기법의 .. 더보기
Vera를 이용한 Visual unpacking 소개-------프로그램 시각화 분석도구인 VERA를 이용한 visual unpacking 참고-------http://sinun.tistory.com/154 해킹의 비밀을 푸는 key 15 - p.234 개요-------대부분의 악성코드들이 packing된 형태로 배포되고 있으며, 이를 분석해야 하는 리버서들은 얼마나 빠르게 OEP를 찾아내느냐가 악성코드 분석의 분석시간을 좌우할것이다.Unpacking에는 수많은 노하우가 존재한다.내가 여기서 소개할 것은 VERA라는 프로그램 시각화 도구를 이용한, Unpacking방법에 대해서 소개할 것이다. 상세내용------VERA는 시각화 분석도구로써, 컴파일된 코드의 흐름을 시각화 시켜주는 유용한 도구이다. [+]VERA 다운로드 링크 http://csr.la.. 더보기