0x01 前言
这次给各位分享一下我以前的笔记,个人觉得挺有用的,可以当作一个指南来找,主要是分享一下在我们渗透测试中windows常用的命令
0x02 概述
通常我们可以通过这些命令完成一些信息收集,或者一些基本的使用。算是一个基本功吧,多用就熟悉了,不用刻意背!
0x03 Windows下的常用命令
废话不多说,直接列举:
ifconfig /all 获取获取域名、IP地址、DHCP服务器、网关、MAC地址、主机名
net time /domain 查看域名、时间
net view /domain 查看域内所有共享
net view ip 查看对方局域网内开启了哪些共享
net config workstation 查看域名、机器名等
net user 用户名 密码 /add 建立用户
net user 用户名 /del #删除用户
net user guest /active:yes 激活guest账户
net user 查看账户
net user 账户名 查看指定账户信息
net user /domain 查看域内有哪些用户,Windows NT Workstation 计算机上可用,由此可以此判断用户是否是域成员。
net user 用户名 /domain 查看账户信息
net group /domain 查看域中的组
net group "domain admins" /domain 查看当前域的管理用户
query user 查看当前在线的用户
net localgroup 查看所有的本地组
net localgroup administrators 查看administrators组中有哪些用户
net localgroup administrators 用户名 /add 把用户添加到管理员组中
net start 查看开启服务
net start 服务名 开启某服务
net stop 服务名 停止某服务
net share 查看本地开启的共享
net share ipc$ 开启ipc$共享
net share ipc$ /del 删除ipc$共享
net share c$ /del 删除C:共享
访问默认共享c盘
dsquery server 查看所有域控制器
dsquery subnet 查看域内内子网
dsquery group 查看域内工作组
dsquery site 查看域内站点
netstat -a 查看开启了哪些端口,常用netstat -an
netstat -n 查看端口的网络连接情况,常用netstat -an
netstat -v 查看正在进行的工作
netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况)
netstat -s 查看正在使用的所有协议使用情况
nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写
reg save hklmsam sam.hive 导出用户组信息、权限配置
reg save hklmsystem system.hive 导出SYSKEY
net use \目标IPipc$ 密码 /u:用户名 连接目标机器
at \目标IP 21:31 c:server.exe 在某个时间启动某个应用
wmic /node:"目标IP" /password:"123456" /user:"admin" 连接目标机器
\目标IP -u username -p password -s cmd 在目标机器上执行cmd
finger username @host 查看最近有哪些用户登陆
route print 显示出IP路由,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interface
arp 查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。
arp -a 将显示出全部信息
nslookup IP地址侦测器
tasklist 查看当前进程
taskkill /pid PID数 终止指定PID进程
whoami 查看当前用户及权限
systeminfo 查看计算机信息(版本,位数,补丁情况)
ver 查看计算机操作系统版本
tasklist /svc 查看当前计算机进程情况
netstat -ano 查看当前计算机进程情况
wmic product > ins.txt 查看安装软件以及版本路径等信息,重定向到ins.txt
0x04 Linux下的常用命令
顺便引用一下@十一月师傅的思维导图:
这里我也就直接放出来了哈!
netstat -tulpn 在 Linux 中显示对应了进程ID(PID)的网络端口。
watch ss -stplu 通过套接字实时观察 TCP, UDP 端口。
lsof -i 显示确认了的连接。
macchanger -m MACADDR INTR 在 KALI Linux 上修改 MAC 地址。
ifconfig eth0 192.168.2.1/24 在 Linux 中设置 ID 地址。
ifconfig eth0:1 192.168.2.3/24 在 Linux 中向现有的网络接口添加 IP 地址。
ifconfig eth0 hw ether MACADDR 使用 ifconfig 修改 Linux 中的 MAC 地址。
ifconfig eth0 mtu 1500 在 Linux 中使用 ifconfig 修改 MTU 的大小,将 1500 改为你想要的 MTU。
dig -x 192.168.1.1 对 IP 地址进行反向查找。
host 192.168.1.1 在一个 IP 地址上进行反向查找,适用于没有安装 dig 的情况。
dig @192.168.2.2 domain.com -t AXFR 使用 dig 执行一次 DNS 区域传输。
host -l domain.com nameserver 使用 host 执行一次 DNS 区域传输。
nbtstat -A x.x.x.x 获取 IP 地址对应的域名。
ip addr add 192.168.2.22/24 dev eth0 向 Linux 添加一个隐藏的 IP 地址,在执行 ifconfig 命令时不会显示这个 IP 地址。
tcpkill -9 host google.com 阻止从主机访问 google.com。
echo "1" > /proc/sys/net/ipv4/ip_forward 启用 IP 转发,将 Linux 盒子变成一个路由器——这样就方便通过这个盒子来进行路由流量的控制。
echo "8.8.8.8" > /etc/resolv.conf 使用 Google 的 DNS。
系统信息命令
对于本地的枚举检查很有用。
描述
whoami 显示 Linux 上当前已登录用户。
id 向用户显示当前已登录的用户和组。
last 显示最后一次登陆的用户。
mount 显示已挂载的驱动。
df -h 用人类可读的输出显示磁盘使用情况。
echo "user:passwd" | chpasswd 用一行命令重置密码。
getent passwd 列出 Linux 上的用户。
strings /usr/local/bin/blah 显示非文本文件的内容,例如:一个二进制文件里面有什么。
uname -ar 显示运行中的内核版本。
PATH=$PATH:/my/new-path 添加一个新的路径,方便进行本地文件系统(FS)操作。
history 显示用户在之前执行的 bash 脚本历史记录,还有敲入的命令。
Redhat / CentOS / RPM 的发行版
描述
yum update 使用 YUM 更新所有的 RPM 包,也会显示出哪些已经过时了。
yum update httpd 更新单独的包,在此例中是 HTTPD (Apache)。
yum install package 使用 YUM 安装一个包。
yum --exclude=package kernel* update 在使用 YUM 时将一个包排除在外不更新。
yum remove package 使用 YUM 删除包。
yum erase package 使用 YUM 删除包。
yum list package 列出有关 yum 包的信息。
yum provides httpd 显示一个包是的用途,例如:Apache HTTPD Server。
yum info httpd 显示包信息,架构,版本等信息。
yum localinstall blah.rpm 使用 YUM 来安装本地 RPM, 从资源库进行安装。
yum deplist package 显示包的提供方信息。
yum list installed | more 列出所有已安装的包。
yum grouplist | more 显示所有的 YUM 分组。
yum groupinstall 'Development Tools' 安装 YUM 分组。
Debian / Ubuntu / .deb 的发行版
描述
cat /etc/debian_version 显示 Debian 版本号。
cat /etc/*-release 显示 Ubuntu 版本号。
dpkg -l 在基于 Debian / .deb 的 Linux 发行版上列出所有已安装的包。
Linux 用户管理
描述
useradd new-user 创建一个新的 Linux 用户。
passwd username 重置 Linux 用户密码, 如果你是 root 用户,只要输入密码就行了。
deluser username 删除一个 Linux 用户。
Linux 解压缩命令
Linux 上解析不同的压缩包 (tar, zip, gzip, bzip2 等等) ,以及其它的一些用来在压缩包中进行搜索等操作的小技巧。
描述
unzip archive.zip 在 Linux 上提取 zip 包中的文件。
zipgrep *.txt archive.zip 在一个 zip 压缩包中搜索。
tar xf archive.tar 在 Linux 上提取 tar 包中的文件。
tar xvzf archive.tar.gz 在 Linux 上提取 tar.gz 包中的文件。
tar xjf archive.tar.bz2 在 Linux 上提取 tar.bz2 包中的文件。
tar ztvf file.tar.gz | grep blah 在一个 tar.gz 文件中搜索。
gzip -d archive.gz 在 Linux 上提取 gzip 中的文件。
zcat archive.gz 在 Linux 以不解压缩的方式读取一个 gz 文件。
zless archive.gz 用较少的命令实现对 .gz 压缩包相同的功能。
zgrep 'blah' /var/log/maillog*.gz 在 Linux 上对 .gz 压缩包里面的内容执行搜索,比如搜索被压缩过的日志文件。
vim file.txt.gz 使用 vim 读取 .txt.gz 文件(我个人的最爱)。
upx -9 -o output.exe input.exe 在 Linux 上使用 UPX 压缩 .exe 文件。
Linux 压缩命令
描述
zip -r file.zip /dir/* 在 Linux 上创建一个 .zip 文件。
tar cf archive.tar files 在 Linux 上创建一个 tar 文件。
tar czf archive.tar.gz files 在 Linux 上创建一个 tar.gz 文件。
tar cjf archive.tar.bz2 files 在 Linux 上创建一个 tar.bz2 文件。
gzip file 在 Linux 上创建一个 .gz 文件。
Linux 文件命令
Samba 命令从 Linux 连接到 Samba 共享。
描述
df -h blah 在 Linux 上显示文件/目录的大小。
diff file1 file2 在 Linux 上比对/显示两个文件之间的差别。
md5sum file 在 Linux 上生成 MD5 摘要。
md5sum -c blah.iso.md5 在 Linux 上检查文件的 MD5 摘要,这里假设文件和 .md5 处在相同的路径下。
file blah 在 Linux 上查找出文件的类型,也会将文件是 32 还是 64 位显示出来。
dos2unix 将 Windows 的行结束符转成 Unix/Linux 的。
base64 < input-file > output-file 对输入文件进行 Base64 编码,然后输出一个叫做 output-file 的 Base64 编码文件。
base64 -d < input-file > output-file 对输入文件进行 Base64 解码,然后输出一个叫做 output-file 的 Base64 解码文件。
touch -r ref-file new-file 使用来自于引用文件的时间戳数据创建一个新文件,放上 -r 以简单地创建一个文件。
rm -rf 不显示确认提示就删除文件和目录。
0x07 结尾
本公众号持续给大家输出优质的原创文章,希望大家多多关注呀!欢迎点击下方名片关注哟!后台回复“1024“即可获得AWD线下赛精华脚本集合
这次分享的主要是常用命令,我自己也会时常翻阅,本公众号“追求高质量原创分享”,希望大家多多关注呀!
活跃投稿文章经审核通过,并取得一定阅读量的朋友,将直接进入核心圈子。如有需要合作交流,转载开白,公众号战略合作的,也可以通过邮箱进行联系哈!期待各位的加入与到来!
联系邮箱:[email protected]
原文始发于微信公众号(御影信安):日常笔记 | 渗透测试中常用的Windows和Linux命令集合
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论