web获取当前计算机域信息,【域渗透】获取域环境内用户登录信息

之前见到有人在讨论域内用户在域内的机器ip怎么查呢,集思广益,结合答复及自己的观点,总结了以下内容。

0x00 adfind

有时候管理员会设置域用户只可以登录指定的的域内计算机,使用 adfind或者 powerview导出域用户信息可以查看;

1

2

3

4

5

6

7

8查看域内用户详细信息:

adfind.exe -h DNS_SERVER_IP -sc u:rcoil(目标用户)

adfind.exe -h DNS_SERVER_IP -sc u:rcoil | findstr userWorkstations //非域权限执行需要指定账户密码

查看域内所有用户详细信息:

AdFind.exe -h DNS_SERVER_IP -sc u:*

详见:http://www.joeware.net/freetools/tools/adfind/usage.htm

powerview在域内执行就可以。

1

2

3Get-NetUser -Domain demo.rcoil.me //domain参数请加完整的域名

Invoke-EnumerateLocalAdmin

0x01 查看域内机器的用户目录文件夹

确定开机状态的计算机列表-建立连接-查看用户目录-断开连接,可以参考如下批处理:

1

2

3

4

5

6

7

8

9for /f "delims=" %%i in (live.txt) DO (

net use \\%%i\C$ password /u:domain\domain_admins_user

if not errorlevel 1 (

for /f "delims=" %%j in ('dir /od /b \\%%i\C$\users\') do (

echo %%i:%%j>> test.log

)

net use \\%%i\C$ /del

)

)

域管不用建立连接就可以访问域内计算机资源,因此以域管权限运行时可以参考如下批处理:

1

2

3

4

5for /f "delims=" %%i in (live.txt) DO (

for /f "delims=" %%j in ('dir /od /b \\%%i\C$\users\') do (

echo %%i:%%j>> test.log

)

)

0x02 域控日志

wevtutil为Windows 事件命令行实用程序,其导出的日志为evtx格式(即Windows日志本身的存储格式),可以使用Windows事件查看器分析,Crtl+F查找,或者不使用epl参数,直接重定向输出即可。

wevtutil常用的场景是清理日志。

1

2

3

4wevtutil cl application

wevtutil cl security

wevtutil cl system

wevtutil cl "windows powershell"

而它也可作为筛选分析日志的工具。这里需要注意的几个ID分别为:4624(用户登陆成功)、4768、4776(用户账号验证成功)

使用wevtutil结合python

wevtutil

1wevtutil qe security /q:"Event[System[(EventID=4624 or EventID=4768 or EventID=4776)]]" /f:text /rd:true /c:1 > EvtLogon.dat

参数说明

1

2

3

4

5

6

7qe: 从日志或日志文件中查询事件;(默认xml格式显示)

Security: 指定安全事件的日志;

/q: 筛选规则,可以打开Windows事件查看器的筛选器配置筛选条件后转至XML复制筛选规则;

/f: 以text格式显示

/rd: 指定读取事件的方向

/c: 指定个数

该命令其它参数参考wevtutil /?

python

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56# -- coding:utf-8 --

# Python v2.7.10

import sys

import csv

evt = 'EvtLogon.dat'

fevt = open(evt,'r')

try:

# For Eliminate redundancies

lastdate = 'lastdate'

lasttask = 'lasttask'

# 因为windows下的换行符问题,导致写的文件会有空行,使用二进制模式打开

with open('LogonStat.csv', 'wb') as csvfile:

csv_write = csv.writer(csvfile)

csv_write.writerow(["Task", "Date", "Account Name", "Account Domain", "Logon Address"])

for eachline in fevt:

if eachline.find('Event[') > -1:

task = ''

date = ''

accname = ''

logontype = ''

logonaddr = ''

skip = 0

elif eachline.find('Date:') > -1:

date = eachline[(eachline.find(':')+1):].strip()

elif eachline.find('Task:') > -1:

task = eachline.split(':')[1].strip()

if (date == lastdate) and (task == lasttask): ## reduce

skip = 1

else:

lastdate = date

lasttask = task

elif eachline.find('Account Name:') > -1:

accname = eachline.split(':')[1].strip()

if (task == 'Logon') and (accname.find('$') > -1): ## reduce

skip = 1

elif eachline.find('Account Domain:') > -1:

accdomain = eachline.split(':')[1].strip()

elif eachline.find('Source Network Address:') > -1:

logonaddr = eachline[(eachline.find(':')+1):].strip()

if logonaddr == '-':

skip = 1

if (skip == 0) and (task == 'Logon'):

LogonStat = [[task, date, accname, accdomain, logonaddr]]

csv_write.writerows(LogonStat)

except Exception as e:

# pass

print 'Error: %s' % e

sys.exit(1)

fevt.close()

csvfile.close()

PS: 筛选条件还有很多,都可以组合利用,从而筛选出自己所需要的信息。

1

2

3wevtutil qe Security /q:"*[EventData[Data[@Name='LogonType']='10'] and EventData[Data[@Name='TargetUserName']='RcoIl'] and System[(EventID=4624) and TimeCreated[timediff(@SystemTime) <= 2592000000]]]"

wevtutil qe Security /q:"*[System[(Keywords='0x8020000000000000')] and EventData[Data[@Name='SubjectUserName']='RcoIl']]" /f:text /rd:true /c:2

0x03 DNS解析记录1

2dnscmd 127.0.0.1 /enumrecords demo.rcoil.me demo.rcoil.me. /type A //利用dnscmd导出dns正向解析记录

dnscmd 127.0.0.1 /zoneprint demo.rcoil.me >1.txt

0x04 Exchange 日志

4.1 Outlook Web Application

owa 默认的登陆日志位置如下:

1C:\inetpub\logs\LogFiles\W3SVC1(W3SVC2)

日志是根据时间(天)¬为单位进行分割的,比如 u_ex190426 就表示 19 年 4 月 26 号那一天的日志。

在实战中,可根据自己的实际需求,把指定时间段内的日志想办法拖回来即可。

部分内容如下:

12019-04-26 06:49:51 192.10.20.200 POST /owa/auth.owa &CorrelationID=;&ClientId=KFTFMZBXS0ATOXTCCJLOQ&cafeReqId=c3db90a9-02e3-4fd0-8633-05fb7799f4fd; 443 rcoil.me\pentest 192.10.20.104 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/73.0.3683.103+Safari/537.36 https://exchange/owa/auth/logon.aspx?replaceCurrent=1&url=https%3a%2f%2fexchange%2fowa 302 0 0 31

此时我们需要的内容单单为:rcoil.me\pentest 192.10.20.104,其他数据可不理会。

4.2 Outlook 客户端

Outlook 客户端登陆的默认日志文件如下:

1C:\Program Files\Microsoft\Exchange Server\V14\Logging\RPCClientAccess

0x05【参考】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值