安全审计 

数据分析
capinfos xxx.pcap 产看数据包基本信息 日志分析
who /var/log/wtmp #查看登录用户信息 哈希校验
sha265 文件名
md5sum 文件名 > hash.txt 然后把hash.txt与源文件放在一个文件夹
md5sum -c hash.txt #将hash.txt中的hash值与源文件对比 常用安全命令
# 使用 uid 查找对应的程序 :find / ­uid ­perm ­
# 查找哪里拥有写权限 :find / ­perm ­o=w
# 查找名称中包含点和空格的文件
    find / ­name " " ­print
    find / ­name ".." ­print
    find / ­name ". " ­print
    find / ­name " " ­print
# 查找不属于任何人的文件 :find / ­nouser
# 查找未链接的文件 :lsof +L1
# 获取进程打开端口的信息 :lsof ­i
# 看看 ARP 表:arp -a
# 查看所有账户 :getent passwd
# 查看所有用户组 :getent group
# 列举所有用户的 crontabs
# 生成随机密码
  cat /dev/urandom| tr ­dc ‘a­zA­Z0­­_!@#$%^&*()_+{}|:<>?=’|fold ­w | head ­n # 使文件不可修改 :chattr +­i filename
# 查找所有不可修改的文件:find . | xargs ­I file lsattr ­a file >/dev/null | grep ‘^....i’ 禁止以root管理员进行ssh远程登录
#vi /etc/ssh/sshd_config
修改:PermitRootLogin yes 为:PermitRootLogin no
#service sshd restart //重启sshd服务 Linux禁止非WHEEL用户使用SU命令
一般用户通过执行“su -”命令、输入正确的root密码,可以登录为root用户
为了加强安全性,建立一个管理员的组,只允许这个组的用户来执行“su -”命令登录为root用户,在UNIX和Linux下,这个组的名称通常为“wheel” 步骤:
# usermod -G wheel dongee 将一般用户 dongee 加在管理员组wheel组中
#vi /etc/pam.d/su  
#auth required /lib/security/$ISA/pam_wheel.so use_uid ← 找到此行,去掉行首的“#”
# echo “SU_WHEEL_ONLY yes” >> /etc/login.defs  代码审计
检查匹配到元数据字符串和头部信息: strings 文件名
查看文件基本信息: file 文件名
查看文件头基本信息: head 文件名
strings filename 输出ASCII码字符串
strings -n 长度 filename | sort -u | less # -n参数匹配最小长度
xxd 文件名 #把文件转换成十六进制(可在vim下使用 :%!xxd) : 1f8b 39d7 173b 002b 4e49 ......;..tt.+NI
: 4b2c eb9c ecac c462 eb94 345e 2e30 K,.`.....b..^.
: 373b 0b22 0ca6 c1a2 d669 39d9 ;'1.".....i.59.   Vim阅读和编辑这些文本后使用 :%!xxd -r 命令把它转换回来 :%!xxd -g 切换到十六进制模式显示
只有十六进制部分的修改才会被采用。右边可显示文本部分的修改忽略不计。
如果需要专门的命令行十六进制编辑器,可以试一下hexedit。
图形界面的十六进制编辑器可以使用ghex2,bless
浏览十六进制文件可以用hexdump -C <file> upx -d 文件名 #upx脱壳
汇编/反汇编:
objdump --disassemble(-d) filename > HuiBian.txt #生成汇编指令
objdump -a filename #查看 libevent.a 中包含哪些 .o 文件(权限+格式) nasm -f elf hello.asm    #生成汇编代码
ld -s -o hello hello.o #调用链接器生成可执行程序
./hello   #执行程序 NASM 命令
注:NASM 全称 The Netwide Assembler,是一款基于80×86和x86­64平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。
nasm ­f bin ­o payload .bin payload .asm
nasm ­f elf payload .asm; ld ­o payload payload .o; objdump ­d payload 编译 Assemble 代码
$ nasm ­f elf32 simple32.asm ­o simple32.o
$ ld ­m elf_i386 simple32.o simple32
$ nasm ­f elf64 simple.asm ­o simple.o
$ ld simple.o ­o simple 编译过程
预编译(处理)(Prepressing):生成.i文件
处理#开头的文件包含及预编译指令,展开宏定义,删注释,添行号,保留#pragma编译器指令
编译(Compilation):词法,语法,语义分析及优化
汇编(Assembly):将汇编代码转换成机器可执行的指令
链接(Linking): 把目标文件和库文件链接成可执行文件 预编译:gcc -E hello.c -o hello.i 或者 cpp hello.c > hello.i
编译:gcc -S hello.i -o hello.s 或者 gcc -S hello.c -o hello.s
汇编:as hello.s -o hello.o 或者 gcc -c hello.s(hello.c) -o hello.o
链接:ld -o hello hello.c gcc编译并调试程序hello.c:
gcc -ggdb -mpreferred-stack-boundary= -fno-stack-protector -o hello hello.c
  -ggdb : 生成额外的调试信息,使用gdb时比较有用
  -mpreferred-stack-boundary= : 使用DWORD大小的栈编译程序,简化调试过程
  -fno-stack-protector : 禁用栈保护
  -z execstack : 启用可执行栈(gcc4.1默认禁用)
gcc -static -o hello hello.c gdb调试生成反汇编代码: (gdb)disass _文件名
# 设置断点: b 函数名(不加括号) #开始运行:(gdb)r
gdb -q hello
(gdb) set disassembly-flavor <intel/att> #在Intel(NASM)和AT&T格式中切换
(gdb) disassemble 函数名 #反汇编指定函数 APK逆向
classes.dex:包含在Android系统的Dalvik虚拟机中执行的程序代码
apktool d 输出文件夹名 test_apk
dex2jar -v classes.dex #把dex文件转换为jar文件
unzip classes-dex2jar.jar -d java_class
  

Linux安全审计命令的更多相关文章

  1. linux grep命令

    linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...

  2. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

  3. Linux下命令行安装weblogic10.3.6

    Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

  4. Linux paste命令

    Linux paste命令用于合并文件的列. paste指令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [-s][-d <间隔字符>][--help][--versi ...

  5. 20145222《信息安全系统设计基础》Linux常用命令汇总

    学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...

  6. Linux sudo 命令的应用

    .note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...

  7. linux 基础命令与文件管理

      Linux终端介绍 Shell提示符 Bash Shell基本语法 基本命令的使用:ls.pwd.cd 查看系统和BIOS硬件时间 Linux如何获得帮助 Linux关机命令:shutdow.in ...

  8. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  9. linux常用命令的介绍

    本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...

随机推荐

  1. IMG图片垂直居中的问题

    之前老是碰到图片文字位置调整的问题,图片不按自己的要求变化,后来发现其实很简单. <P><img src="" style="vertical-alig ...

  2. Putty的注册表设置

    Putty是一款非常好用的远程管理Linux系统的工具,其主要具有以下几个优点:  完全免费;  在Windows 9x/NT/2000下运行的都非常好;  全面支持SSH1和SSH2:  绿色软件, ...

  3. IOS网络请求中文转码

    -(void)get { NSString *urlStr = @"http://120.25.226.186:32812/login2?username=小码哥&pwd=520it ...

  4. android studio修改项目包名

    公司项目都是用eclipse开发的,但是android studio开发已经是大势所趋了,所以在闲暇之余使用了一下androidstudio,这里对androidstudio更改项目包名做一下总结,因 ...

  5. QT学习笔记—1

    1.模态和非模态的区别:非模态可以同时操作两个窗口,模态的只能在顶层窗口关闭之后才能使用其他窗口 //同时显示出widget和dialog窗口,非模态     QDialog *dialog = ne ...

  6. web字体图标的使用

    今天给大家介绍一些web字体图标的下载和使用 一.WEB字体 1. 下载外部的字体图标的网站 font-awesome.com 2.CSS文件和font文件 3.html文档中使用外部字体 4.下载字 ...

  7. String与StringBuild、StringBuffer的区别

    String与StringBuild.StringBuffer的区别相信困扰了好多新入门的JAVA程序员,而这也是笔试和面试的一道常见题型,如何全面的回答该问题,变得尤为重要. 首先我们需要清楚一点, ...

  8. Redis 数据序列化方法 serialize, msgpack, json, hprose 比较

    最近弄 Redis ,涉及数据序列化存储的问题,对比了:JSON, Serialize, Msgpack, Hprose 四种方式 1. 对序列化后的字符串长度对比: 测试代码: $arr = [0, ...

  9. CodeForces 712D Memory and Scores

    $dp$,前缀和. 记$dp[i][j]$表示$i$轮结束之后,两人差值为$j$的方案数. 转移很容易想到,但是转移的复杂度是$O(2*k)$的,需要优化,观察一下可以发现可以用过前缀和来优化. 我把 ...

  10. css基础和心得(二)

    css中的某些样式是具有继承性的.它允许样式不仅应用于某个特定html标签元素 而且应用于其后代.如: p{color:red;}  <p>dsffd<spans>sdfasd ...