[openQPA]DIY 프로 세 스 데이터 캡 처 도 구 를 알려 드 립 니 다.

오픈 소스 프로젝트 QPA
최근 바이러스 분석 을 하 다가 원 격 제어 말 을 만 났 기 때문에 연 결 된 원 격 주 소 를 기록 해 야 합 니 다! 또는ProcessMonitr로 일부분 을 볼 수 있 지만 더 전면적 인 정 보 를 원 하기 때문에WireSharkFiddler를 만 졌 다.Filddler 는 사용 이 간단 하지만http의 데이터 만 볼 수 있 습 니 다.WireShark 는 모든 데 이 터 를 캡 처 할 수 있 지만 특정 프로 세 스 의 가방 을 걸 러 낼 수 없습니다.그리고 여과 규칙 은 저 에 게 너무 복잡 합 니 다.감개 무량 할 때openQPA라 는 오픈 소스 프로젝트 를 찾 았 습 니 다.여 기 는 프로젝트 홈 페이지 입 니 다.
체험 하고 즐겁게 소스 코드 를 다운로드 합 니 다.프로그램 은PyQt4으로 작성 되 었 습 니 다.그리고 두 개의 의존 라 이브 러 리httplib2dpkt도 있 습 니 다.pip install설치 한 후에 QPA.py 를 더 블 클릭 하여 프로그램 을 열 었 습 니 다.첫 인상:못 생 겼 습 니 다.이 레이아웃 도 너무 못 생 겼 죠?창 이 아직 늘 어 나 지 않 아서...
인 터 페 이 스 를 털 어 놓 고 기능 을 체험 해 보 니 프로 세 스 패키지 캡 처 기능 이 너무 강 한 것 같 습 니 다.
그리고 패 킷 분석 기능 도 있 습 니 다.P.S.이 구 조 는 정말 참 기 어렵 습 니 다.
그 밖 에 패 킷 분석 도 추가 할 수 있 습 니 다.전체적으로 기능 이 매우 강 합 니 다.강박 증 이 없다 면 이 걸 사용 하 세 요!어쨌든 저 는 이 화면 을 잘 참 지 못 하고 그 기능 만 필요 합 니 다.그리고 저 는 WireShark 으로 패 킷 을 분석 합 니 다.그래서 이렇게 많은 파일 에서 프로 세 스 패 킷 을 캡 처 하 는 코드 위 치 를 찾 아야 합 니 다.
디 버 깅 소스 코드
항목 을 정리 하면 항목 ReadMe 에서 그 중의 몇 개의 파일 의 역할 을 설명 하 는 것 을 볼 수 있다.
그 다음 에VS Codepython 로 소스 코드 를 디 버 깅 하여 프로젝트 절 차 를 정리 했다.처음에 목적 성 있 는 단점 이 었 다.먼저 기능 을 추측 한 다음 에 단점 을 찍 었 다.이것 은 비교적 긴 과정 이 므 로 나 는 캡 처 하지 않 겠 다!마지막 으로 패 킷 분석 을 알 고 있 는 파일 은analysis2.py,dpcap.pycalc.py이다.프로그램의 화면 은 주로html,cssjs의 곳 에 있 고Window.py인터페이스 초기 화 와 프로 세 스 패 키 지 를 캡 처 하 는 데 사용 된다.QPA.py는 프로그램의 입구 파일 이다.프로 세 스 패 킷 기능 을 캡 처 해 야 하기 때문에Window.pyQPA.py파일 에 직접 초점 을 맞 춥 니 다.
핵심 기능 포 지 셔 닝 은 함수 이름 을 대충 보고 의 심 스 러 운 함수 에서 끊 은 다음 캡 처 를 클릭 하여 프로그램 이 끊 어 질 수 있 는 지 확인 합 니 다.과정 은 바로 이 렇 습 니 다!최종 적 으로 찾 은 두 함 수 는readCapstopCap이다.
인 터 럽 트 가 끝 난 후QPA.py로 이동 하여 디 버 깅 을 시작 합 니 다.프로그램 이 성공 적 으로 중단 되 었 습 니 다stopCap.이 곳 에서Cap.exe프로 세 스 를 죽 일 수 있 습 니 다.
그리고 F11 은 계속 따라 가서wa라 는 함 수 를 따 랐 습 니 다.여 기 는connect중의exeCap함 수 를 호출 합 니 다.이것 은 패 킷 을 캡 처 하 는 것 처럼 보 입 니 다.exeCap실행 전후 에 각각 파일 의 내용 을 기록 하 였 으 며,마지막 으로connect.exeCap에서 패 킷 을 캡 처 하기 시작 한 것 으로 확인 되 었 다.
그리고 계속 아래로 실행 합 니 다.readCap함 수 는 메시지 순환 과 유사 한 곳 입 니 다.패 킷 을 계속 읽 고 화면 에 표 시 됩 니 다.캡 처 정지 버튼 을 누 르 면 순환 에서 벗 어 나 다시 실행stopCap하여 프로 세 스 를 죽 입 니 다.
요약 하면 핵심 캡 처 프로 세 스 패 킷 의 기능 이connect파일 에 있 는exeCap함수 입 니 다.
역방향
역 pyc 파일 은 프로젝트 파일 에서 먼저 찾 았 습 니 다connect.pyc원본 코드 가 없 는데 왜 원본 코드 가 없 습 니까?핵심 기능 이 들 어 있다 는 거 죠.
역방향.py은 간단 합 니 다.먼저 인터넷 에 올 리 거나 다운로드pyc를 역 컴 파일 합 니 다.조금 어 려 운 것 은 역 컴 파일 할 수 없 는 것 입 니 다.그 다음 에 바이트 코드 복원uncompyle소스 코드 를 보 세 요.이 물건 은 인터넷 에서 명령 이 있 으 면 번역 하면 됩 니 다!하지만 이 pyc 는 매우 간단 합 니 다.온라인 컴 파일 은 모두 해결 할 수 있 습 니 다.
원래 캡 처 기능 은python디 렉 터 리 에 있 는connect이 고 디 버 깅 을 통 해 알 수 있 는 매개 변수 형식 은CAP.exe이 며 그 중에서 dir 는 디 렉 터 리 이름 입 니 다.
이 몇 개의 파일 의 역할 은 다음 과 같 습 니 다.U H U 1 dir 0프로 세 스 데 이 터 를 캡 처 합 니 다.cap.exe실행 시 라 이브 러 리 입 니 다..dll로 컬 네트워크 카드 를 보 았 습 니 다.다른 것 은 소 용이 없습니다.저 는 IDA 에서 보 았 습 니 다!NIC.exe미리 설치 해 야 돼 요.안 그러면 프로그램 이 설치 해 줄 거 예요.
역 Cap.exe 보호 조치 가 없 는 프로그램 은 들 어 오 는 명령 행 인 자 를 판단 하기 시작 합 니 다.
그리고 일련의 판단 을 거 친 후에 프로 세 스 데 이 터 를 캡 처 하기 시작 합 니 다.
이 프로그램 이 실행 하 는 매개 변 수 는 매우 번 거 롭 습 니 다.이렇게 써 야 프로 세 스 의 데 이 터 를 캡 처 할 수 있 습 니 다.코드 가 그리 많 지 않 기 때문에 관심 이 있 으 면 스스로 다시 쓸 수 있다.그러나 저 는 다시 쓰 고 싶 지 않 습 니 다.이렇게 복잡 하고 싶 지 않 습 니 다.저 만WinPcap프로그램 이 있 습 니 다.생각 은 먼저cap U H U 1 Dir 0매개 변수 판단 에 뛰 어 든 다음 에 중간 에 쓸모없는 데 이 터 를 이용 하여 할당 코드 를 쓴 다음 에 할당 값 을 위로 옮 겨 서 할당 한 다음 에 다시 뛰 어 오 는 것 입 니 다.프로그램 이 수정 되면patch프로 세 스 의 패 킷 을 캡 처 할 수 있 습 니 다.jmp원래 프로젝트 가 시 작 된 것 이 고 핵심 기능 도 제 시 했 습 니 다.cap dir후의 절 차 를 다시 내 놓 으 면 정말 사람 이 아 닙 니 다!그래서 나 는 패 치 프로그램 을 놓 지 않 겠 다.필요 한 것 이 있 으 면 나 를 개인 적 으로 믿 어도 된다!
END

좋은 웹페이지 즐겨찾기