WEB安全梳理-操作系统
2022-5-7 11:19:35 Author: www.freebuf.com(查看原文) 阅读量:9 收藏

image

windows操作系统

一、常用的DOS命令

ipconfig/all                                      查看IP地址
ipconfig /release                                 释放ip
ipconfig /renew                                   重新获得ip
arp -a                                            显示ARP缓存的命令,它可以显示电脑上所有的ARP缓存条目。
whoami                                            查询账号所属权限
whoami/all                                        查看sid值
systeminfo                                        查询系统以及补丁信息
tasklist /svc                                     查看进程
taskkill /im 进程名称(cmd)                         结束进程
wmic qfe get hotfixid                             查看已安装过得补丁
ping hostname(主机名)                             显示该机器名的IP
net start                                         查看当前运行的服务
net user                                          查看本地组的用户
net session                                       查看当前会话
net use \\IP\ipc$ password /user:username         建立IPC会话
wmic share get name,path                          查看SMB指向的路径
wmic nteventlog get path,filename,writeable       查询系统日志文件存储位置
net use \\IP\ipc$ password /user:username         建立IPC会话
netstat -ano                                      查看开放的端口
netstat -an | find “3389”                         找到3389端口
set                                               查看系统环境设置变量
net start                                         查看当前运行的服务
wmic service list brief                           查看进程服务
wmic process list brief                           查看进程
wmic startup list brief                           查看启动程序信息
wmic product list brief                           查看安装程序和版本信息
wmic startup list full                            识别开机启动的程序
wmic product > pro.txt                            查看安装软件以及版本路径等信息,输出到pro.txt

DOS下的一些文件的简单操作

1、cd   切换目录
2、type xxx.txt    查看文件内容
内容太多的时候分页显示   more    例如   type xxx.txt | more
3、dir 显示目录  -a 浏览所有文件
4、del  删除文件
5、copy con(屏幕) 文件名.扩展名 (意思就是固定屏幕,然后可以一直写很多东西,不像echo只能写一行)
6、md  文件夹名字   ----创建文件夹
7、attrib 文件/文件夹  ------改属性
attrib +h 文件夹    -------隐藏  +是隐藏  -h就是取消  +s 将文件提升为受保护文件  +a只读属性
8、fsutil file createnew c:\system.ini 1024000  瞬间在c下面生成一个空文件  这个空文件被填满N个空格 文件大小409600000  如果和attrib 联合使用  别人都不知道自己使用空间怎么没了
9、assos  修改关联性  比如打开一个txt 默认是记事本打开 我们可以用这个命令更改其关联性
例如: assoc .txt=exefile  这样txt后缀的文件都打不开了,因为系统认为他就是一个程序  如果把图片其他文件一修改  系统就废了
改回来   assoc .txt=txtfile  其他后缀类似
10、mv 和linux里面的一样用法
11、copy 要复制的路径下的文件  复制到那个路径
12、如果说要拷贝当前电脑的文件到另一台电脑  copy 文件 \\ip\
13、ren  旧名 新名

应急小技巧

a、netstat -ano 查看目前的网络连接,定位可疑的 ESTABLISHED

1、根据 netstat 定位出的 pid,再通过 tasklist 命令进行进程定位 tasklist  | findstr “PID”
2、如果找到了可疑进程  通过wmic process get name,executablepath,processid | findstr PID 可以定位到文件所在的目录

b、一般找到后还是看不见的,因为程序被隐藏了,所以需要attrib -h 文件

3、可以通过copy .\  c:\User\Administrator\Desktop\xxx\   意思就是可疑程序所在的目录拷贝到桌面上的XXX文件
4、通过工具将主机日志提取,方便后面分析

windows常用的快捷键

Win+r  services.msc       打开本地服务
win+r   输入eventvwr.exe   事件查看器
Win+r  输入secpol.msc      打开本地安全策略
win+r   输入dxdiag          查看电脑配置
win+r   输入regedit        查看注册表
win+r   输入sysdm.cpl      查看系统属性
win+r   输入   msinfo32    查看系统信息
win+r osk              打开屏幕键盘
win+r calc             打开计算器
win+r taskmgr           任务管理器

二、windows下的文件简介

1、我们必须要知道的两个文件 一个是SAM是存储加密过的系统帐号的密码文件。
image

该文件被系统占用无法打开,但PE系统下能操作管理员密码,也可以通过mimikatz、powershell脚本、PwDum7.exe等一些利用工具获取。
image

另一个核心文件为hosts文件,相当于本地的小型DNS,定义了域名和IP。

image

部分内容如下图所示

image

2、Program files/Program files(x86)文件夹

操作系统各种程序默认安装到的目录,包括32位和64位。

image

其文件夹包括:Common Files(提供程序中的一些共享配置文件)、 Internet Explorer(网络浏览器)、NetMeeting(网络聊天软件)、Microsoft office(办公软件集合)、Windows Media Player(媒体播放器)等。

image

3、ProgramData文件夹
C盘的一个系统文件夹(隐藏),它是公用的被创建文件夹或文件存放的地方,由创建者完整控制,程序运行或启动生成的临时文件通常存放该目录,电脑病毒也比较喜欢感染该目录。

image

4、FileRec文件夹
存放系统账号相关的文件或文件夹该目录是信息深入收集所必须查找的目录,包括桌面、我的文档等敏感信息或文件。

image

三、windows下的常见端口

端口号的范围是从1~65535。其中1~1024已经定义好了被称为静态端口,从1025~65535的端口被称为动态端口可用来建立与其它主机的会话,也可由用户自定义用途。

21端口:FTP 文件传输服务
22端口:SSH 端口
23端口:TELNET 终端仿真服务
25端口:SMTP 简单邮件传输服务
53端口:DNS 域名解析服务
80端口:HTTP 超文本传输服务
110端口:POP3 “邮局协议版本3”使用的端口
443端口:HTTPS 加密的超文本传输服务
1433端口:MS SQL*SERVER数据库 默认端口号
1521端口:Oracle数据库服务
1863端口:MSN Messenger的文件传输功能所使用的端口
3306端口:MYSQL 默认端口号
3389端口:Microsoft RDP 微软远程桌面使用的端口
5631端口:Symantec pcAnywhere 远程控制数据传输时使用的端口
5632端口:Symantec pcAnywhere 主控端扫描被控端时使用的端口
5000端口:MS SQL Server使用的端口
8000端口:腾讯QQ

注册表修改3389端口

1.HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp下的PortNumber=3389改为自定义的端口号

2.HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp下的PortNumber=3389改为自定义的端口号

修改3389为你想要的数字(在十进制下)----再点16进制(系统会自动转换)----最后确定!这样就ok了。

这样3389端口已经修改了,但还要重新启动主机,这样3389端口才算修改成功!如果不重新启动3389还是修改不了的!重起后下次就可以用新端口进入了!

四、注册表

注册表是Windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个系统中起着核心作用,一一般我们电脑中病毒木马后都会进行注册表查找以及清除操作。

image

image

五、Powershell

PowerShell 可以简单的理解为 cmd 的高级版,cmd 能做的事在 PowerShell 中都能做,但 PowerShell 还能做很多 cmd 不能做的事情。

PowerShell 内置在 Windows 7、Windows Server 2008 R2 及更高版本的 Windows 系统中,同时 PowerShell 是构建在 .NET 平台上的,所有命令传递的都是 .NET 对象。

一使用 Get-ExecutionPolicy命令查看当前执行策略

1、Restricted:不能运行脚本

2、RemoteSigned:本地创建的脚本可以运行,但从网上下载的脚本不能运行(除非它们拥有由受信任的发布者签署的数字签名)

3、AllSigned:仅当脚本由受信任的发布者签名才能运行。

4、Unrestricted:脚本执行不受限制,不管来自哪里,也不管它们是否有签名。

5、使用Set-ExecutionPolicy <policy name>设置执行策略,该命令需要管理员权限

六、NTFS安全权限

文件系统概述:文件系统即在外部存储设备上组织文件的方法(格式化的一种方式)
常见的文件系统:

①FAT   windows
②NTFS  windows
③EXT   linux常见

NTFS的特性

1、提高磁盘读写性能 
2、加密文件系统
3、访问控制列表(设置权限)
4、磁盘利用率(压缩、磁盘配额)
5、支持单个文件大于4个G

七、windows安全日志

成功审核

image

事件ID
image

八、用户与组管理

1、SID 安全标识符   每个账户有自己的SID 类似身份zheng号
2、Administrator  UID是500
3、普通用户是1000开始
4、账户和密码存储的位置: c:\windiows\sysytem32\config\SAM  #暴力猜解  算法 hash
5、Window系统上,默认密码最长有效期42天
6、net localgroup administrator  查看该组成员
7、把其他用户加入管理员组
net localgroup administrator 用户名 /add     --删除 del

九、批处理编写

批处理的作用:自上而下成批的处理每一个命令 就算有些命令执行不了也会执行下一条命令

pause 暂停,后面有其他的命令也不执行 主要是批处理执行很快,看不见效果
例如 写一个垃圾清理bat 只要知道垃圾在哪些地方产生 进入删除就行了

@echo off
color 0a                          --更改颜色
title clear laji program              --title修改标题
echo================       --输出
echo clear your system laji
echo 如果被拦截
echo  请放行
echo================
pause                           --停止
echo.                            --echo.  加一个点是空一行
echo  正在清理中。。。。。
g:  >nul 2>nul;    //>nul 2>nul功能是错误的正确的啥也不显示  屏蔽
cd \ >nul 2>nu;
ping –n 10 127.0.0.1 >nul 2>nul         --ping 延迟10个包  >nul 2>nu; 不提示
echo congratulations!!!!!  垃圾清理完毕!
pause                           --停止

if 语句 因为有些bat不显示过程 所以用if提示 如果执行成功后输出提示

:冒号的用法  定义一个命令区间
例如
:1
:2
:XXXX   //随便写  给区间取名字   :不是命令 但系统会识别

//其实:定义区间也是从上到下执行 主要还是和 go to 一起组合使用
go to 跳转

冒号和 go  to 组合写一个简单病毒 qq.bat
:d
start                         --start 后面可以什么都不写
go to d

开机自启
copy qq.bat(脚本) “启动路径“ --%userprofile% 代替用户
d:
start
goto d

变量的基本用法

@echo off          --关闭回显功能也就是屏蔽过程。
title 小程序v1.0
:menu
cls
echo  ================
echo          菜单
echo        1、定时关机
echo        2、取消定时
echo        3、退出
echo  ================

set /p num=您的选择:                       --设置变量 ,常用与在脚本中互动赋值 
if “%num%” == ”1”  goto 1
if “%num%” == ”2”  goto 2
if “%num%” == ”3”  goto 3
echo  别闹,好好输入。只能输入\1\2\3
pause
:1
set /p a=  请输入时间(单位/秒)   -- /p扩展(选项) a是变量
shutdown –s -f –t %a%
goto menu
:2
shutdown –a
goto menu

:3
exit

--互动赋值:set /p time+请输入时间
引用变量:%temp%
如果他执行2 我们在他开始使用菜单里生成一个恶意脚本

:2
echo  :a  >>  ”系统启动路径\hah.bat”
echo  start  >>  ”系统启动路径\hah.bat”
echo  goto a  >>  ”系统启动路径\hah.bat”    --hah.bat是生成脚本的名字

把脚本弄到启动菜单里

1、copy
2、echo
3、ntsd –c q –pn winlogon.exe   --只针对xp 2003的蓝屏命令,强制杀死指定进程。但是又不能杀结果就是蓝屏


taskkill /im /f 进程ID
taskkill /im /f  explorer.exe  杀死桌面


ping –n 10 127.0.0.1 >nul 2>nul   --停止十秒,其实就是ping 十个包  >nul 2>nul  不显示

十、PKI

1、PKI概述

名称:公钥基础设施
作用:通过加密技术和数字签名保证信息安全
组成:公钥加密技术、数字证书、CA、RA

2、信息安全三要素

机密性
完整性
身份验证/操作的不可否认性

3、哪些IT领域用到PKI:

1)SSL/HTTPS
2)  IPsec VPN
3) 部分远程访问VPN

4、公钥加密技术
作用:实现对信息加密、数字签名等安全保障
加密算法:

1)对称加密算法(加解密密钥一致) DES   3DES  AES
2)非对称加密算法(通信双方各产生一对公私钥,各自交换公钥、公钥和私钥互为加解密关系) RSA  DH

数字签名:用自己的私钥对摘要加密得出的密文就是数字签名。

十一、AD域

Domain:域是计算机网络的一种形式,其中所有用户账户,计算机,打印机和其他安全主体都在位于称为域控制器的一个或多个中央计算机集群上的中央数据库中注册。

具体参考:
https://blog.csdn.net/weixin_51446936/article/details/121416834

十二、winows加固

https://blog.csdn.net/weixin_44268918/article/details/120834329

linux操作系统

一、各种linux虚拟机忘记密码

1、红帽忘记密码修改root密码

1  在重启的时候 e 进入
2  在linux16 后面找到UTF-8 在后面加 rd.break   然后ctrl+x
3  这时候可以输入mount 看一下 会发现根为 /sysroot/  没有w权限,只有ro权限
4  输入 mount  -o  remount,rw  /sysroot/    重新挂载,就有rw权限
5 改变根  chroot  /sysroot/
6 echo “密码" | passwd --stdin root   设置密码
7  使 seliunx 生效  touch /.autorelabel
8  exit
9  reboot
10  切换ROOT用户登陆

2、centOS 6 修改密码

1 e 进入
2 选择第二个  kernel
3 在 quiet 后面 加 1  然后回车
4  b
5  进去passwd 就可以修改密码了

3、RedHat init 修改密码

1  启动RedHat ,进入后 e 进入编辑。
2  光标往下,找到以 linux16开头 ro改成 rw  UTF-8结尾的参数行,并在UTF-8后面加 init=/bin/sh 
3  输入init=/bin/sh 后,按 ctrl+x
4  进入下图界面
5  这时候我们可以mount看一下,有rw 权限,我们就省去重新挂载步骤。 (看不见,没有回显, 自己输入,尽量正确)
6  这个时候我们就可以输入下面的语句设置自己的密码
	echo “wll” | passwd --stdin root(看不见,没有回显, 自己输入,尽量正确)
7 显示成功 输入touch /.autorelabe(看不见,没有回显, 自己输入,尽量正确)
8 输入 exec /sbin/init  重启
9.重启成功

4、Kali 重新设置密码(有些版本可能界面会不一样,但是操作大同小异)

1)在grub界面按e进入*Advaced options for kali GNU/Linux
image.png
2)编辑模式 下找到 "Linux "开头的那行修改ro 修改为 rw  添加 init=/bin/bash  修改完按 F10

image.png

image.png

3)保存后,输入passwd重置密码
image.png

image.png

5、Ubuntu 重置密码

长按shift或者ese进入grub,选择高级选项回车
image
选择版本较高的recovery mode
image
按下e后进入如下界面,找到linux /boot/vmlinuz-…ro recovery nomodeset 所在行。找到recovery nomodeset并将其删掉,再在这一行的最后面(dis_ucode_ldr后面)输入quiet splash rw init=/bin/bash
image

输入passwd,修改密码成功
image

二、linux下的文件说明

home 		普通用户的目录
dev 		 以文件形式存放的接口.一些设备 ,光盘 硬盘
boot 	 	放开机所需要的东西
etc 		 放置一些配置文件
sbin 		  用来存放用于管理员使用的存储二进制系统程序文件
lib 	 	开机使用的一些函数库
proc 	  虚拟文件系统   网络状态,进程
usr 		放用户自己使用的
var  		主要存放一些经常变化的文件日志之类的
losd +found   当文件系统发生错误的时候,将一些遗失的片段放置到这里面 
media 		 挂载设备文件
mnt 		提供给用户的用于挂在别的文件系统
opt 		 放第三方软件
tmp  		临时文件  任何人都可以共享的临时目录

image

image

拓展:12位的权限表示法

image

三、linux常用命令(无序)

1、关机重启

关机 命令  shutdown   poweroff -f  init 0
重启 命令	 reboot   init 6
sleep 2 | init 0   设置两秒后关机
注销  logout

2、useradd 添加一个用户

userdel –r sss    这个是删除用户  -r 是连家目录一起删除

添加账户u1,为其指定附加组g1,并设置2013-04-04账户到期

	useradd -G g1 -e 2013-04-04 u1

添加账户u2,为其指定id号为1000

	useradd -u 1000 u2
把u1 u2 添加到g2组

	gpasswd -a u1 g2

	gpasswd -a u2 g2

如何删除g2组的用户u

	gpasswd -d u g2

如何查看u2的uid gid

	id u2

3、切换工作目录

/ 根目录   ~家目录   ..上一级目录  -  上一次所在的目录

4、下载东西

wget 后面跟地址  wget  –c  –P (指定的路径)  http://wwww

-P  指定下载目录
-c 断网后链接网络后续传
- r 下载整个文件
-b  后台下载

5、查看所有进程

PS  aux    或者 top –d 2
a显示所有  u详细信息  x没有终端

6、结束进程

知道一个进程的id  可以用kill 1323(id)干掉   干不掉的用九杀  kill -9 1323

当前内核的版本信息 还有版本号

uname -a

7、查看当前版本的详细信息

image

8、查看历史命令

history   查看历史命令
history –c  清除历史纪录   tab  可以补全
history 7  查询7的历史    !7执行历史7的命令

9、查看登陆过系统的信息

last

10、查看文件内容

cat
-n 是显示行号
查看前几行    例如前四行   head(要看的东西名字)–n  4
查看后几行     例如后四行   tail (要看的东西名字)  -n  4
有一些需要查看的  直接在后面先添加   - 8  这样的数字看行不行

11、替换文件中的字符 tr

image

12、统计字符的数量

-l  显示行数   -w  统计单词数   -c 字节数

image

13、查看当前文件被修改

stat  文件名

image
touch –d “时间 ” 文件名 修改最近一次访问和最近一次

14、按列提取文本字符

cut  –d:  -f1  文件名
-d:  以 : 为分割      -f1 是第一列

image

15、压缩与解压缩

rar a file1.tar test_file 创建一个“file1.rar”文件包

rar a file1.rar file1 file2 dir1 同时压缩'file1','file2'以及目录'dir1'

rar x file1.rar 解压rar包

unrar x file1.rar 解压rar包

tar -cvf archive.tar file1 创建一个非压缩的 tarball

tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件 

tar -xvf file1.tar -C /tmp 将压缩包释放到 /tmp目录下

tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包 

zip file1.zip file1 创建一个zip格式的压缩包 

unzip file1.zip 解压一个zip格式压缩包

zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包

16、find 查找文件(linux三剑客可以自己去百度搜)

find / -name ssh 从根目录开始查找ssh 的文件
find /-atime +1  一天内访问的

find / -size +50kB    找大小超过50kb的文件

find / -perm 4000  可以找到特殊权限的文件

搜索玩后继续执行命令
find / aaa.txt –exec {} \;    {}  搜索出来的文件都在里面   {} \两个中间有空格

17、 改变文件的权限

chomd

四、SUID、SGID、Sbit

1、SUID

两个平级的用户 一个用户可以暂时
把执行 x 变 s 短暂拥有root的权限 chmod u+s /usr/bin/cat

image

image

先给一个命令设置SUID   chmod u+s /usr/bin/find   给find 设置SUID
   接下来   ls  看一下有哪些文件   在find 1.txt(文件) –exec whoami \;
.   whoami 可以改成  useradd aaa

2、SGID操作

先 cd/   echo “1111” > 2.txt     ll 2.txt   chmod 070 2.txt   ll 2.txt
. useradd ww     su ww     cat 2.txt   exit    chmod g+s /bin/cat
.    su ww   cat 2.txt

3、sbit保护位(只能作用于目录)
Sbit 意识就是在一个共享的文件下我们都可以访问并可以删除里面的文件,这时候我们给文件sbit 别人就不能删除了 chmod o+t 目录

image

五、桥接模式下设置静态IP

先把网络适配器改成桥接 选中物理地址 在从编辑里找到虚拟网络编辑器 ,改为桥接模式,(这个时候虚拟机和windows就是两个独立的)先从windows里面 ipconfig 看一下自己的IP地址 子网掩码 网关 然后ping 一个和ip地址在同一个网段的 看有人用没有
接下来

直接修改eth3(想要修改的网卡的名称)

1cd /etc/sysconfig/network-scrips/      网卡都是放着这下面
2ls 网卡名字         vim 网卡名字
3进去后把 ONBOOT(开机自启)改为 yes  	BOOTPROTO 改为 static
4设置 IPADDR(和windows 在一个网段) NETMASK(一样)  GATEWAY(最后是1  其他的都一样)   (这里可以设置DNS1=114.114.114.114   DNS2=8.8.8.8 LINUX 一般都是三个自己随便弄一个) 
5:wq       保存退出
6Ifconfig  看一下
7service network restart     重启服务
8.  ping 144.144.144.144    ping通就能上网了

六、Nat 模式

先把网络适配器改nat 再从编辑里找到虚拟网络编辑器 ,改为nat模式,(这个时候虚拟机和windows就是两个独立的)先从windows里面 ipconfig 看一下自己的IP地址 子网掩码 网关 然后ping 一个和ip地址在同一个网段的 看有人用没有
接下来

直接修改eth3(想要修改的网卡的名称)

cd /etc/sysconfig/network-scrips/      网卡都是放着这下面
ls 网卡名字         vim 网卡名字
进去后把 ONBOOT(开机自启)改为 yes  	BOOTPROTO 改为 dhcp
  :wq       保存退出
 ifconfig  看一下
 service network restart     重启服务
 ping 144.144.144.144    ping通就OKle

七、安装本地yum 源

1先看网络通没 ping www.baidu.com
2如果不通  配置网卡  通就跳过这个步骤
3在虚拟机哪里看一下是不是挂载ios 并勾上已连接
4df –h    查看一下
5cd /media/
6mkdir cdrom(这个文件随便创建)
7mount /dev/sr0 /media/cdrom
8cd /media/cdrom
9ls
10cd /etc/yum.repos.d/
11rm packagekit-media.repo  (有就删除,没有就算了)
12touch yum.repo   (这里创建的文件随便,但是要有.repo这个后缀)
13vim yum.repo
14进去后插入  [name]
			name= mylocalyum   (这个是对名字一个解释) 
			  baseurl=file:///media/cdrom     (这是本机yum源的地址,可以配置网上的,但是可能有注册)
			enable=1
			  gpgcheck=0
			  :wq  退出
15yum clean all       是清除缓存
16yum list | wc –l
17yum repolist all     查看完成  ,显示启动

八、iptables 的一些参数(通过控制端口来控制服务)

-F  清空所有规则链
-L  是查看当前防火墙策略
-D 删除一条策略
Iptables –D INPUT 1  (想要删除那个  就写几)
-I 把想要放的策略放在前面
例如  iptables –I INPUT –p icmp –j DROP 
-j  告诉策略怎么做
-P  默认策略规则
-p   匹配的协议
--dprot  匹配端口    - -dport 10:80   这样可以把10到80 的端口都过滤掉
-s 指定IP网段

如果想要拒绝链接 除了配置外 还可以

先拒绝 所有TCP 协议的策略 或者说是相关的一些协议的策略

Inptabels –I INPUT –p tcp - -dport 22 –j REJECT

这时候就连不上了

想要连上设置

Inptables –I INPUT –s 192.168.80.0/24 –p tcp --dport 22 –j ACCEPT

上面这些重启就失效了如果要永久的

service iptables save   保存一下

九、firewall(通过协议来控制服务)

查看所有的模板
image

查看当前模板有哪些信息

firewall-cmd  --list-all

改成默认

image

给接口改区域

image

流量转发例如吧防火墙的22 端口 映射到888端口
image

添加一个富规则

firewall-cmd - - zone=public –add-rich-rule=”rule family=”ipv4 ” source address=”192.167.52.0/24” service name=”ssh “ reject”

十、shell脚本编写

https://blog.csdn.net/weixin_43705953/article/details/119137570

十一、linux加固

https://www.cnblogs.com/pythonal/p/9242043.html

文章来源: https://www.freebuf.com/articles/web/332344.html
如有侵权请联系:admin#unsafe.sh