336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

apt-get update
apt-get upgrade

웹에서 설치 스크립트를 받아 간단설치
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

https://github.com/OWASP/Python-Honeypot

debconf: delaying package configuration, since apt-utils is not installed(debconf 사용자가 아니라면 무시)

sudo chown -R 472:472 /Python-Honeypot/data/grafana/

'Web Service' 카테고리의 다른 글

[PHP] IP체크 정규식  (0) 2016.07.12
Nginx SSH 설정 & Rewrite 설정  (0) 2016.07.12
우분투에 nginx, MySQL, PHP(LEMP) 설치  (0) 2016.03.09
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

아래경로의 profiles 디렉토리 백업 후 썬더버드 설치, 그리고 붙여넣기

(데이터부터 POP3설정등 모든정보가 저장되어있다.)

 

Linux: ~/.thunderbird/
Windows 7: C:\Users\USERNAME\AppData\Roaming\Thunderbird\Profiles\
Windows XP: C:\Documents and Settings\USERNAME\Application Data\Thunderbird\Profiles\
Mac: /Users/username/Library/Thunderbird/Profiles/

 

썬더버드 시작. 끝.

 

'Common knowledge' 카테고리의 다른 글

Avira Cli Scan  (0) 2016.07.28
IP주소 정규식 패턴  (0) 2016.07.28
C++ warning C4018 해결  (0) 2016.07.26
C++ warning C4996: 'mbstowcs' 해결  (0) 2016.07.26
C++ 클래스 변수 사용  (0) 2016.07.26
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. init 프로세스와 inittab 파일
pid 1 번인 init 프로세스는 사용자들을 위해서 시스템을 설정하게 된다.
pid 0 인 프로세스가 초기화된 커널의 바탕에서 나머지 작업을 수행한다.
  - init 프로세스(/sbin/init)가 하는일
    1) 파일시스템 구조 검사
    2) 파일시스템 마운트(mount프로그램이 아닌 커널의 Virtual File System에서 마운트)
    3) 서버에 데몬을 로드한다.
    4) 사용자의 로그인을 기다린다.
    5) 사용자가 로그인 하면, 사용자를 위한 Shell을 로드한다.


init 가 처음 시작해서 수행해야 할 작업들을 설정한 파일은 "/etc/inittab"
init 는 새로운 실행레벨에서 실행할 프로세스를 결정하기 위해서 항상 이 파일을 참조


inittab 파일은 시스템의 상태에 따라서 해당하는 런레벨에서 init 프로세스가 수행해야 할 일들을 서술해 놓은 파일이다.
init 프로그램은 inittab 파일을 참조하여 새로운 런레벨에서 실행할 수 없는 프로세스가 만약 지금 실행중이면 그 프로세스를 죽이고,

새로운 런레벨 에서 실행해야만 하는 프로세스 중 현재 실행되고 있지 않은 프로세스는 새로 실행을 시킨다.



2. runlevel (/etc/inittab)

- 런레벨은 선택된 그룹의 프로세스만 시스템에서 실행되도록 허락 하기 위해 만든 소프트웨어 설정

- init 프로그램은 BSD 스타일과 system V 스타일의 두종류가 존재한다. 레드햇계열에서는 system V 스타일을 사용한다.


각 런레벨(ren level) 에 대한 대략적인 내용이 명시되어 있다.

# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)     //시스템을 종료
# 1 - Single user mode                         //싱글 유저 모드에서 사용되는 레벨, 프롬프트에서 "linux single" 입력시 런레벨 1에서 시작
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)    //NFS 를 지원하지 않는 다중 사용자 모드를 정의
# 3 - Full multiuser mode                      //네트워킹을 지원하는 다중 사용자 모드
# 4 - unused                    //사용자 정의 있는 런레벨, 원하는 데몬이나 서비스를 /etc/rc.d/rc4.d 내에 위치
# 5 - X11                      // X를 실행시키기 위한 런레벨
# 6 - reboot (Do NOT set initdefault to this)    //시스템을 재부팅시키도록 정의된 런레벨

............

id:3:initdefault:              //id:run-levels:action:process, 디폴트런레벨, 0 또는 6 옵션지정에 의한 무한부팅 시 lilo에 옵션을 주어 변경

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

............

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

............



3. man inittab

id:run-levels:action:process


id : label, 식별자, 최대 4자리, "예) tty1 > 1:2345:respawn:/sbin/mingetty tty1"

run-levels : 런레벨

action : 어떤방식으로 실행할지 설정

process : 프로세스의 실행파일의 경로와 프로세스에 넘겨줄 인수, 이 필드에 `+' 문자가 제일 앞에 오면, init는 그 처리과정에서 utmp, wtmp 처리를 하지 않게 한다. `+' 문자는 gettys에서 스스로 utmp/wtmp를 처리할 경우 필요하다.


※ action의 종류

wait : 프로세스를 실행하고, 다음 줄의 엔트리로 가지 말고, 실행한 프로세스가 종료할때까지 대기한다.
respawn : 프로세스를 실행하고, 그 프로세스가 죽게 되면, 다시 실행시키라는 의미, 주로 getty 등의 프로세스
initdefault : 디폴트 런레벨을 지정, 런레벨 3을 디폴트 런레벨로 지정한다는 의미

               즉, 시스템의부트 프로세스가 종료된 후에 진입할 런레벨을 가리키는 엔트리
               initdefault 사용 시 process 필드는 아무런 의미가 없게 된다.
off : 아무것도 하지 말라는 뜻
once :  이미 실행되고 있는 프로세스라면 실행하지 말고, 실행되고 있지 않으면 한번만 실행, wait처럼 대기하지 않는다.

boot : 시스템 부팅시에 실행되어야 할 프로세스를 가리킨다. run-levels 필드는 아무런 의미가 없게 된다.

bootwait : 프로세스가 시스템 부팅시에 실행되도록 지정한다. (예: /etc/rc)
sysinit : 프로세스가 시스템 부트시에 실행, 이 엔트리는 다른 boot 나 bootwait 엔트리들이 실행되기 전에 실행되며,

run-levels 필드는 무시한다.
powerwait : init 프로세스가 SIGPWR 시그널을 받으면 실행되는 프로세스

            SIGPWR 시그널은 전원과 관련해서 무엇인가 문제가 있음을 가리키는 시그널이며,

init 는 프로세스가 종료되기까지 대기한다.

powerfail : powerwait 항목과 비슷하지만 프로세스가 종료되기까지 대기하지 않고 바로 실행한다는 점에서 다르다.
powerokwait : 이 엔트리도 init 가 SIGPWR 시그널을 받으면 실행될 프로세스를 지정하지만,

              이 엔트리에서 지정된 프로세스는 /etc/powerstatus 파일에 OK 라는 단어가 있을 때만 실행된다.
              즉, 전원이 다시 돌아왔을 때만 실행

ctrlaltdel : init 가 SIGINT 시그널을 받게 되면 실행할 프로세스를 지정한다.

             즉, 시스템 콘솔에서 CTRL-ALT-DEL 키를 눌렀을 때 이 엔트리에서 지정한 프로세스가 실행된다.
kbrequest : 이 엔트리에서 지정하는 프로세스는 init가 키보드 핸들러로부터

콘솔에서 특수키 조합이 눌려졌다는 시그널을 받으면 실행되는 프로세스이다. 키맵과 함께 쓰일 수 있다.


'Analysis > Linux' 카테고리의 다른 글

GDB 사용  (0) 2016.06.23
리눅스 로그 분석  (0) 2016.06.21
리눅스 시스템 정보 체크  (0) 2016.06.21
grep  (0) 2016.06.21
SetUID를 이용한 백도어 제작  (0) 2016.06.21
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

커널 드라이버 서비스 상태 확인

  - sc query

  - sc queryex


참고 : http://www.makeuseof.com/tag/control-running-services-sr-command-windows/

'Analysis > Windows' 카테고리의 다른 글

SysWOW64란?  (0) 2016.07.18
Windbg 사용  (0) 2016.06.23
WebDAV에서 사용하는 메소드  (0) 2016.06.21
윈도우 보안 이벤트 // IIS 로그 분석  (0) 2016.06.21
윈도우 커맨드라인 명령어  (0) 2016.04.07
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import wmi

# Obtain network adaptors configurations


nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)

# First network adaptor


nic = nic_configs[0]

# IP address, subnetmask and gateway values should be unicode objects


ip = u'192.168.0.11'
subnetmask = u'255.255.255.0'
gateway = u'192.168.0.1'

# Set IP address, subnetmask and default gateway
# Note: EnableStatic() and SetGateways() methods require *lists* of values to be passed


nic.EnableStatic(IPAddress=[ip],SubnetMask=[subnetmask])
nic.SetGateways(DefaultIPGateway=[gateway])


============================================================


#Here is how to revert to obtaining an IP address automatically (via DHCP):


import wmi

# Obtain network adaptors configurations


nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)

# First network adaptor


nic = nic_configs[0]

# Enable DHCP


nic.EnableDHCP()

'Analysis > Python' 카테고리의 다른 글

[Python] with, seek, tell  (0) 2016.08.03
Python 리스트(배열)  (0) 2016.07.05
Python Random 함수  (0) 2016.07.05
base64로 인코딩된 바이너리 파일 확인  (0) 2016.03.31
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


1.GRE 터널링

1)Host_A(192.168.1.10/24)                                                                                            
  - Dst: Host_B(사설IP: 192.168.2.10/24)                
  - Src: Host_A(사설IP: 192.168.1.10/24)             


2)Router_A(GRE터널링: int tunnel 0, 172.16.0.1/30, src 222.222.1.10/24, dst 222.222.2.10/24) 
- Dst:Router_B(공인IP: 222.222.2.10/24)[Dst: Host_B(사설IP: 192.168.2.10/24)]
- Src:Router_A(공인IP: 222.222.1.10/24)[Src: Host_A(사설IP: 192.168.1.10/24)]


3)Router_B(GRE터널링: int tunnel 0, 172.16.0.2/30, src 222.222.2.10/24, dst 222.222.1.10/24)                                      
  - Dst:Router_B(공인IP: 222.222.2.10/24)[Dst: Host_B(사설IP: 192.168.2.10/24)]      
  - Src:Router_A(공인IP: 222.222.1.10/24)[Src: Host_A(사설IP: 192.168.1.10/24)]       


4)Host_B(192.168.2.10/24)
  - Dst: Host_B(사설IP: 192.168.2.10/24)
  - Src: Host_A(사설IP: 192.168.1.10/24)

 

패킷구조 > FRAME = [ETHERNET_Header] [IP_Header(222.222.x.x)] [GRE_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload]

 


2.IPSec터널링

단순히 GRE 터널링을 통한 VPN 사용은 기밀성에 취약하다.
IPSec을 사용함으로써 기밀성, 무결성(HMAC)을 보장할 수 있다.

IPSec 동작에는 3개의 터널이 필요하다.
첫번째 터널은 암호화에 필요한 키교환 터널이고
두번째와 세번째 터널은 암호화된 데이터(트래픽)가 전송되는 터널이다.

 

1) IKE 1단계
1-1) 1단계 키교환 협상(Main-Mode)
  VPN_A : 보안정책리스트 전달
  VPN_B : 보안정책 응답
  VPN_A : 키정보 공유(Diffie-Hellman 알고리즘)
  VPN_B : 키정보 공유(Diffie-Hellman 알고리즘)
  VPN_A : IPSec 피어 인증 시작
  VPN_B : IPSec 피어 인증 응답
  양방향 보안채널생성(ISAKMP SA) : 키 정보 교환(암호화종류, 해시종류, 키정책등 교환)

 

1-2) 1단계 키교환 협상(Aggressive-Mode)
  VPN_A : 보안정책(키/인증정보 포함) 전달
  VPN_B : 보안정책 응답
  VPN_A : 암호화 해시 정보 전달
  양방향 보안채널생성(ISAKMP SA) : 키 정보 교환(암호화종류, 해시종류, 키정책등 교환)

 

2) IKE 2단계
  양방향 보안채널생성(ISAKMP SA) 후 트래픽 암호화를 위한 보안터널생성(IPSec SA)
  보안터널(IPSec SA)은 단방향 터널이다. 그러므로 송신 IPSec 터널과 수신 IPSec 터널이 생성된다.


  패킷의 암호화에는 AH(Athentication Header) 프로토콜과 ESP(Encapsulating Security Payload) 프로토콜이 사용된다.
    - AH : 암호화를 제공하지 않고 패킷 조작 여부 같은 확인 작업만 한다. (무결성)
    - ESP : 상위 계층 정보인 페이로드의 암호화를 진행한다. (일부 무결성+기밀성)

 

  2-1) AH 터널모드 패킷구조  > [IP_Header(222.222.x.x)] [AH_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload]
        - 인증 구간 > [IP_Header(222.222.x.x)] [AH_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload]


  2-2) AH 전송모드 패킷구조  > [IP_Header(192.168.x.x)] [AH_Header] [TCP_Header] [Payload]
        - 인증 구간 > [IP_Header(192.168.x.x)] [AH_Header] [TCP_Header] [Payload]

 

  2-3) ESP 터널모드 패킷구조 > [IP_Header(222.222.x.x)] [ESP_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]
        - 인증 구간 > [ESP_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]
        - 암호화 구간 > [IP_Header(192.168.x.x)] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]


  2-4) ESP 전송모드 패킷구조 > [IP_Header(192.168.x.x)] [ESP_Header] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]
        - 인증 구간 > [ESP_Header] [TCP_Header] [Payload] [ESP_Trailer]
        - 암호화 구간 > [TCP_Header] [Payload] [ESP_Trailer]

 

  2-5) AH+ESP 전송모드 패킷구조 > [IP_Header(192.168.x.x)] [AH_Header] [ESP_Header] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]

        - 인증 구간 > [IP_Header(192.168.x.x)] [AH_Header] [ESP_Header] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]
        - 암호화 구간 > [TCP_Header] [Payload] [ESP_Trailer]


참고 : IP Protocol Number - icmp=1, igmp=2, tcp=6, udp=17, gre=47, eigrp=88, ospf=89

 


GRE over IPSec VPN : 인터넷을 통한 본사와 지점간의 통신에 사용

SSL VPN : 집에서 회사간 통신에 사용


 

'Analysis > Network' 카테고리의 다른 글

Tcpdump usage examples  (0) 2016.04.26
HTTPS와 SSL 이해  (0) 2016.04.15
Next Squence Number  (0) 2016.03.24
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

with : with문이 종료되면 별도로 close해주지 않아도 열었던 파일을 닫아준다. 

with open(r'C:\test\test.bin', 'wb') as fout:
    fout.write('test')


.tell()     //함수는 파일의 시작으로부터의 현재 오프셋을 바이트 단위로 반환
.seek()   //함수는 다른 바이트 오프셋으로 위치를 이동

fin = open(r'C:\test\test.bin', 'rb')       //예) 256바이트 이진파일
fin.seek(-1, 2)         //255, 파일의 마지막에서 1바이트 전 위치로 이동
fin.tell()                 //결과 : 255

fin.seek(254, 0)       //254, 파일의 마지막에서 2바이트 전 위치로 이동
fin.tell()                 //결과 : 254


'Analysis > Python' 카테고리의 다른 글

[Python] wmi  (0) 2016.08.10
Python 리스트(배열)  (0) 2016.07.05
Python Random 함수  (0) 2016.07.05
base64로 인코딩된 바이너리 파일 확인  (0) 2016.03.31
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

IE9 호환성보기 목록 URL

 - http://ie9cvlist.ie.microsoft.com/IE9CompatViewList.xml

'Analysis > Malware' 카테고리의 다른 글

PEiD Signatures  (0) 2016.07.28
Packed.Dropper.PE  (0) 2016.07.27
[로컬 백도어] Image file execution option  (0) 2016.06.21
GenPack:Trojan.Generic  (0) 2016.06.21
CryptXXX Decryptor  (0) 2016.06.21
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Starting Avira System Scanner from the command line

Many download managers and backup programs allow you to scan files with a virus scanner, using the command line. In this way, you can use the graphical user interface of Avira software, configuring it with the following parameters (the syntax is not case-sensitive, but the paths have to be inserted in double-quotes):
 /CFG="<path to the scan profile file>"
 /PATH="<path to the folder or file to be scanned>"

Examples:
"%PROGRAMFILES%\Avira\AntiVir Desktop\avscan.exe"  /CFG="%PROGRAMFILES%\Avira\AntiVir Desktop\scan.avp"
 "%PROGRAMFILES%\Avira\AntiVir Desktop\avscan.exe"  /PATH="%WINDIR%"
 "%PROGRAMFILES%\Avira\AntiVir Desktop\avscan.exe"  /PATH="C:\Downloads\"
 "%PROGRAMFILES%\Avira\AntiVir Desktop\avscan.exe"  /PATH="C:\Downloads\%1"

Avira System Scanner uses the configuration set in Avira product, under Configuration → PC Protection → System Scanner. So, if you activated the option Scan master boot sectors, they will be scanned every time avscan.exe starts.

In case you do not want to use this option, because the scanning takes longer, there is a work-around, for scanning only the selected files.
1. Download this profile file (right-click the link and select Save link as): filescan.avp
2. Save the file on your hard disk, then right-click it and select Properties. Activate the option Read only and press OK.
3. Now you have to apply this profile to the /CFG parameter. For example, to use Avira products with WinRAR, you have to use the following parameters:
 System Scanner name: "%PROGRAMFILES%\Avira\AntiVir ...\avscan.exe"
 System Scanner parameter: /CFG="C:\filescan.avp" /PATH="%f"

You can also use Avira Command Line Scanner (AVCLS) which has detailed configuration possibilities. It can be downloaded from Avira website, under Downloads. Please read the installation guide and the description of the parameters in the downloaded text file.

'Common knowledge' 카테고리의 다른 글

썬더버드 백업  (0) 2016.08.23
IP주소 정규식 패턴  (0) 2016.07.28
C++ warning C4018 해결  (0) 2016.07.26
C++ warning C4996: 'mbstowcs' 해결  (0) 2016.07.26
C++ 클래스 변수 사용  (0) 2016.07.26
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

http://handlers.sans.org/jclausing/userdb.txt
http://reverse-engineering-scripts.googlecode.com/files/UserDB.TXT
http://research.pandasecurity.com/blogs/images/userdb.txt

https://raw.githubusercontent.com/guelfoweb/peframe/5beta/peframe/signatures/userdb.txt #


pypeid > https://github.com/libcrack/python-peid


pefile > https://github.com/erocarrera/pefile

 - 내장된 peutils는 3.x버전이다. 2.x버전을 사용하기위해서는 peutils만 아래 파일로 import

   - python 2.7 > https://github.com/hiddenillusion/AnalyzePE/blob/master/peutils.py


'Analysis > Malware' 카테고리의 다른 글

IE9 호환성보기 목록  (0) 2016.08.03
Packed.Dropper.PE  (0) 2016.07.27
[로컬 백도어] Image file execution option  (0) 2016.06.21
GenPack:Trojan.Generic  (0) 2016.06.21
CryptXXX Decryptor  (0) 2016.06.21

+ Recent posts