기금넷 공식사이트 - 복권 조회 - 소스 코드를 원격으로 제어하는 데 필요한 도구는 무엇입니까?

소스 코드를 원격으로 제어하는 데 필요한 도구는 무엇입니까?

원격 제어 소프트웨어 gh0st 소스 코드 면제.

원격 제어 소프트웨어인 gh0st3.6 오픈 소스는 이를 바탕으로 2 차 개발을 할 수 있다는 의미이며, 소프트웨어를 조사하여 이 원격 제어 트로이를 쉽게 죽일 수 있다는 의미다. 기왕 써야 할 바에는 소스 코드를 기반으로 한 목마 사살 작업을 잘 해야 한다. (윌리엄 셰익스피어, 소스, 소스, 소스, 소스, 소스, 소스)

오랫동안 블로그에 오지 않았다. 나는 이미 죽이지 않는 부분을 정리했다. 먼저 벽돌을 던져라. 관심 있는 친구는 계속 하거나 나와 교류할 수 있다.

명령

Gh0st 원격 제어 소프트웨어는 드라이브 레벨 RESSDT 활성화, svchost 매개 변수 시작, 시스템 서비스 교체로 작동합니다. 작업 패턴이 선진적이고 미중 부족한 것은 구동 수준이든 사용자 차원이든 숨기지 않았다는 것이다. (윌리엄 셰익스피어, 윈스턴, 일명언) 물론 이 부분은 추가할 수 있습니다. VC 를 사용하는 프로그래밍 환경을 인코딩합니다.

첫째, 환경 구성

컴파일 환경은 반드시 DDK+SDK+VC6, sys 파일 컴파일 DDK, 프로젝트 컴파일 SDK+VC6 으로 구성해야 합니다. 구성 부분은 비교적 간단하고, 인터넷에는 많은 자료가 있으니, 여기서는 군말을 하지 않을 것이다. 관심 있는 친구는 DDK 와 SDK 에 대한 도움말도 볼 수 있다.

둘째, 기능 코드 포지셔닝에 대한 간략한 설명

바이러스 백신 소프트웨어 살인 목마의 원리는 기본적으로 특징에 기반을 두고 있으며, 피살된 부분을 특징코드라고 부르기 때문에, 우리는 특징코드 위치추적 도구인 MyCLL 을 사용하여 바이러스의 특징코드 위치를 찾을 수 있다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 바이러스명언) 위치 지정 도구의 원리는 스캔한 목마를 조각으로 나누어 소프트 살육의 고유치와 일치시켜 소프트 살육과 바이러스 살육의 위치를 찾는 것이다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 성공명언)

위치 확인 기능 코드, 소스 코드에서 해당 위치를 어떻게 역찾을 수 있습니까? 아래 분석을 보세요.

3. 이진 파일과 매핑 파일을 사용하여 소스 코드를 찾습니다

매핑 파일은 이진 코드와 소스 코드 간의 매핑 파일입니다.

세 번째 단계에 따라 바이러스의 특징을 발견했다고 가정해 봅시다.

바이러스 이름 서명 위치 메모리 주소

Svchost.dll 000038aa _ 00000002100044aa

Svchost.dll 00005 f98 _ 00000002

첫 번째 단계는 VC 컴파일 환경을 설정하고 지도 파일을 생성하는 것입니다.

VC 에서 메뉴 프로젝트->; 설정 탭 페이지 (또는 Alt+F7 누르기), C/C++ 탭을 선택하고 하단 프로젝트 옵션에: /Zd 를 입력한 다음 링크 탭을 클릭하고 지도 파일 생성 확인란을 선택하고 하단 프로젝트 옵션에:/mapinfo: 를 입력합니다 설치가 완료되었습니다.

두 번째 단계는 VC 프로젝트를 컴파일하는 것입니다. 활성 프로젝트 컴파일을 설정하기만 하면 됩니다. 자명합니다. 이 단계를 완료하면 게시 (또는 디버그) 디렉토리에. map 파일 (예: svchost.map) 이 추가됩니다.

세 번째 단계는 다음과 같이 UE 또는 텍스트 편집기를 사용하여 지도 파일을 여는 것입니다.

(시작)

타임스탬프는 488 fcef 2(2008 년 7 월 30 일 수요일 10: 16: 18) 입니다

기본 로드 주소는 1000000 입니다

-.

시작 길이 이름 범주

0001:00000000 00010a50h. 텍스트 코드

0001:00010a 50 00000485h. 텍스트 $x 코드

0002:0000000000000004c8 h. Idata$5 데이터

.....

0003: 00000010000004h. CRT$XIZ 데이터

0003: 0000020 00001a50h. 데이터 데이터

0003:0000 1a70 00000688H. Bss 데이터

0004:00000000 000000a8H. Rsrc$0 1 데이터

0004:000000b0 00000cf0H 입니다. Rsrc$02 데이터

-.

값 Rva+ 기본 라이브러리: Object 를 통해 Publics 주소를 지정합니다

000 1:00000000? 0caudio @ @ qae @ xz10001000f audio.obj

000 1:000000d0? _ gcaudio @ @ uaepaxi @ z100010d0fiaudio.obj

000 1:000000d0? _ ecaudio @ @ uaepaxi @ z100010d0fiaudio.obj

000 1:000000f0? 1caudio @ @ UAE @ xz100010f0faudio.obj

000 1:00000 1e0? Getrecordbuffer @ caudio @ @ qaepaepak @ z100011e0faudio.obj

000 1:00000240? Playbuffer @ caudio @ @ qae _ npaek @ z10001240f audio.obj

000 1:000002c0? Initializewavein @ caudio @ @ aae _ nxz100012c0faudio.obj

.....

000 1:000033 10? Sendtoken @ cfilemanager @ @ aaehe @ z10004310f filemanager.obj.

000 1:00003320? Uploadtoremote @ cfilemanager @ @ aae _ npae @ z10004320f file manager.obj

000 1:00003440? Fixeduploadlist @ cfilemanager @ @ aae _ npbd @ z1000440f filemanager.obj

000 1:00003670? Stop transfer @ cfilemanager @ @ aaexxz10004670f filemanager.obj

000 1:00003730? Createlocalrecvfile @ cfilemanager @ @ aaexpae @ z10004730f filemanager.obj

.....

-.

의 행 번호입니다. /release/filemanager.obj (e:/vtmp/gh0st3src/server/svchost/common/filemanager.cpp.) 텍스트

17 0001:00002630 20 0001:0000267f21000/kloc-

25 0001:000026 F8 26 0001:0000273c 29 0001:000027 d0 33 000/kloc-

77 0001:000027 F8 36 0001:000027 fb37 0001:00002803 77 000/kloc-

.....

532 0001:0000340f 534 0001:00003414 537 0001:00000

546 0001:0000345 d 547 0001:00003487 548 0001:00003490 549 000/kloc

5510001:0000349e552 0001:000034b8 553 0001:00000

558 0001:000034 de560 0001:000034 e9 563 0001:000034 ee564 000/kloc

.....

(완료)

한번 봅시다. Svchost.dll 을 찾는 첫 번째 기능 코드의 메모리 주소는 100044AA 입니다. 두 번째 블록에서, 우리는 RVA+ 기지가 그것과 매우 가깝다는 것을 발견할 수 있다.

000 1:00003440? Fixeduploadlist @ cfilemanager @ @ aae _ npbd @ z1000440f filemanager.obj

이렇게 하면 FileManager.cpp 에서 FixedUploadList 함수를 찾을 수 있습니다. 범위가 좁혀졌나요?

코드 행의 범위를 좁혀 봅시다.

이 공식을 사용하면 피쳐 코드 행 오프셋 = 피쳐 코드 주소-이미지 기본 주소 -0x 1000 입니다.

어려워 보이지만 사실은 아주 간단하다. 많은 PE 가10044AA 에서 시작되므로 100000 을 뺀 메모리 기본 주소는100000 을 뺀 것입니다. 34AA 의 코드 오프셋 주소를 얻을 수 있습니다. 블록 3 에서 해당 코드 행을 찾습니다.

오프셋 주소 34AA 는 (55 1 0001:000349 e552 0001:000034b8) 중간에 있습니다 소스 프로그램에서 55 1 행을 찾아 봅시다.

Wsprintf (lpsz 필터, "%s%s*. *, lpPathName, lpszslash) :

이렇게 소스 코드가 배치되므로 원하는 대로 수정할 수 있습니다.

넷째, 실전에서 사람을 죽이지 않는다

첫째, 카바는 살육에서 면제된다.

먼저 편찬을 마치고 카바의 면제를 먼저 하다. Kabbah 는 sys 파일과 dll 을 죽이고, 물론 그들을 포장한 install.exe 도 죽인다. 마지막으로 카바는 생성된 서버도 죽였다. 생성된 서버를 죽이는 것은 이전 서명과 겹치는 곳이 아니라 구성 정보입니다.

첫 번째 단계는 sys 가 면제된다는 것입니다.

Sys 재컴파일 후 입력표의 기능이 추가되어 시스템과는 달리 원래의 특성과는 많은 차이가 생겨 카바, 금산, 빨간 우산의 소프트웨어 조사를 순조롭게 통과했다.

두 번째 단계는 svchost.dll 이 살육을 면하는 것이다.

피쳐 코드 포지셔닝 MultiByteToWideChar 및 "gh0st update". 이 파일은 3 단계의 매핑 파일입니다.

카바는 가화를 두려워한다. 이 함수 MultiByteToWideChar 를 호출할 때 이 함수 앞에 몇 개의 잘못된 문장을 추가하여 카바의 부드러움을 죽일 수 있습니다.

문자열 호출 "gh0st update" 는 업데이트에 사용됩니다. 온라인으로 업데이트하지 않으려면 문이 있는 코드 블록을 직접 삭제합니다. 허허, 사실 검색 항목은 이 문자열을 다른 문자열로 바꾸면 충분하고, 이 방법은 동시에 소프트웨어를 죽일 수 있다.

3 단계, 서버 면제.

Kaba 는 최종 구성 정보에 있으므로 점프할 수 없습니다. 가화를 통해 AAAAAA 구성 정보를 쓰기 전에 아무거나 쓸 수 있고, 죽이지 않으면 서버가 될 수 있다.

카바, 면제!

B. 아바스터는 살육에서 면제된다

최신 avast 는 소프트웨어를 죽이고 1 에서 install.exe 와 svchost.dll (즉, 생성된 파일과 리소스 파일) 을 죽인 다음 소스 코드를 면제합니다.

기능 문자열 %02d/%02d/%02d 및' system/current control set/services/%s' 에서 찾을 수 있습니다.

솔루션:

1, svchost.dll 의 서명은 키보드 레코드 KeyboardManager.cpp 파일의 SaveInfo(char *lpBuffer) 함수에 있습니다. 피쳐 문자열 %02d/%02d/%02d 는 키보드 레코드를 본 날짜이며 여러 가지 방법으로 수정할 수 있습니다. [%d/%d/%d %d:%d:%d] 로 바꾸면 avast 로 컴파일할 수 있습니다.

2.install 의 피쳐 코드는' system/currentcontrol set/services/%s' 에 있고 해당 파일은 install.cpp 의 InstallService 함수입니다. case 를 수정하고 컴파일하면

다섯째, 가비지 코드를 추가하는 작은 방법

스팸코드는 트레이드마크의 위치를 옮겨야지, 스택으로 달려가지 마라. (윌리엄 셰익스피어, 스팸코드, 스팸코드, 스팸코드, 스팸코드) 이런 코드는 쓸모가 없다. For 루프를 추가하고, 카운트를 하고, 간단한 통계를 만들고, 뒤에 있는 논리를 변경하지 않고 로컬 변수를 사용할 수 있습니다.

출력 테이블을 추가하려면 다음과 같이 하십시오.

Kill 출력 테이블이 있는 경우 생성된 svchost.dll 에 빈 함수를 추가할 수 있지만 컴파일할 때마다 리소스 1 번을 수정해야 합니다. 실제로 소스 코드에 다음 명령문을 추가했습니다.

Extern "c" _ _ declspec (dll export) bool just tempfun (); //문

......

Extern "c" _ _ declspec (dll export) booljusttempfun ()//구현

{

False 를 반환합니다

}

컴파일 후 출력표가 변경되어 일부 소프트웨어는 코드를 죽이지 않아도 죽일 수 있다.

여섯째, gh0st 는 6to4ex.dll 수정 사항을 자동으로 생성합니다.

많은 역우들이 6to4ex.dll 을 자동으로 생성해 달라고 질문하는 것을 보고, 몇몇 열정적인 역우들도 자신의 의견을 제시했다. 어떤 사람들의 해결책이 완전히 정확하지 않다고 느끼면 초보자의 오해를 불러일으킬 수 있다. 제 이해에 따라 1 을 설명하겠습니다.

Gh0st 서버는 svchost -netsvcs 를 통해 시작되므로 프로그램은 netsvcs 서비스를 사용해야 하며 서버는 netsvcs 를 기반으로 생성되므로 서버 생성이 무작위라고 할 수 없으며 대부분의 시스템에 비해 기본적으로 고정되어 있습니다. 아래 분석을 참조하십시오.

Install.cpp 의 InstallService () 메서드가 먼저 HKEY _ local _ machine/software/Microsoft/windows nt/currentversion/svchost 에서 서비스 항목을 순회하는지 확인합니다. 서비스를 찾으면 프로그램이 해당 서비스를 대체하고 원래 서비스를 삭제합니다. 그런 다음 서비스 항목 +ex.dll 에 해당하는 파일을 생성하여 원래 서비스를 대체합니다. 6to4 서비스는 일반적으로 1 위를 차지했습니다. 6to4 비즈니스는 글로벌 고유 IPv4 주소만 있으면 전체 사이트에 IPv6 연결을 제공할 수 있는 터널을 자동으로 구축하는 방법입니다. 이 서비스는 일반인에게 기본적으로 유휴 상태이기 때문에 우리의 프로그램은 6to4 서비스를 대신한다. 동시에 windows/system32/ 디렉토리에 6to4ex.dll 을 생성하면 6 ~ 4ex 가 됩니다. 이 서비스를 건너뛰면 Ias, Iprip 등의 서비스가 순차적으로 생성됩니다. NetVCS 항목에 교체 가능한 서비스가 없는 경우 프로그램은 AddsvchostService () 메서드에 의해 생성된 netVCS _ 0x% d 라는 1 개 서비스를 추가합니다.

서비스 이름에 신경 쓰지 않는 사람들을 이해합니까?

이것은 기술적 문제라고 할 수는 없지만, 기술적 문제는 이것으로 인해 발생할 수 있다. 다른 사람의 360 일이 어떤지 모르겠지만, 1 에서 360 기본 시스템 보안 서비스라면 안전하지 않다는 신고를 받지 않고 유휴 시스템 보안 서비스를 360 으로 교체하는 것이 훨씬 낫다고 조언할 수 있을 것 같다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), Northern Exposure (미국 TV 드라마), 안전명언)