목록Network (34)
안 쓰던 블로그

console.cloud.google.com/ Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com 링크 들어가서 프로젝트 생성 없으면 만든다 메뉴-Compute Engine-VM 인스턴스 선택 만약 크레딧이 없으면 무료 평가판을 등록하고 온다 로딩 기다렸다가 VM인스턴스 만들기 이름, 리전, 머신 유형 선택 부딩 디스크를 우분투 선택 방화벽 HTTP 트래픽 허용 만들기 여기의 외부 IP를 복사해 둔다 puttygen를 켜서 개인키를 생성한다 www.puttygen.com/#Download_PuTTYgen_on_Windows PuTTYgen Download Download P..

이전 글 헤더들 정보: foxtrotin.tistory.com/324 ARP 패킷 만들고 전송하기: foxtrotin.tistory.com/323 RP 스니핑 프로그램 ARP reader: foxtrotin.tistory.com/325 pcap 함수 pcap_findalldevs(&alldevs, errbuf) 네트워크 이더넷들을 찾는 함수 alldevs에 찾은 이더넷 정보 저장하며, 에러 시 errbuf에 에러를 저장한다 pcap_freealldevs(alldevs) 해당 네트워크를 제외한 다른 네트워크를 해제하기 위한 함수 pcap_open_live(name, 65536, 1, 1000, errbuf) 실제 네트워크 이더넷의 패킷을 캡처 하는 함수 name: 장치이름 65536: 패킷의 길이 1: 모..

이전 글 헤더들 정보: foxtrotin.tistory.com/324 ARP 패킷 만들고 전송하기: foxtrotin.tistory.com/323 pcap 함수 pcap_findalldevs(&alldevs, errbuf) 네트워크 이더넷들을 찾는 함수 alldevs에 찾은 이더넷 정보 저장하며, 에러 시 errbuf에 에러를 저장한다 pcap_freealldevs(alldevs) 해당 네트워크를 제외한 다른 네트워크를 해제하기 위한 함수 pcap_open_live(name, 65536, 1, 1000, errbuf) 실제 네트워크 이더넷의 패킷을 캡처 하는 함수 name: 장치이름 65536: 패킷의 길이 1: 모든 패킷을 잡을 수 있는 promisc모드로 설정 1000: 패킷을 읽는 시간 errbuf..
ether_addr 구조체 struct ether_addr { unsigned char ether_addr_octet[6]; }; ether_header 구조체 gcc버전에 따라 다르지만 /usr/include/net/ethernet.h 에 위치한다 /* 10Mb/s ethernet header */ struct ether_header { u_int8_t ether_dhost[ETH_ALEN]; /* destination eth addr */ u_int8_t ether_shost[ETH_ALEN]; /* source ether addr */ u_int16_t ether_type; /* packet type ID field */ } __attribute__ ((__packed__)); ip_header 구..

ARP 헤더 구조 ARP 패킷 만드는 과정 1. 헤더 구조에 맞춰서 구조체를 만들어 주고, 각 값을 채운다 2. 소켓을 열고 보낸다 3. 와이어 샤크에서 ARP 패킷으로 잘 잡히는지 확인한다 코드 #include #include #include #include #include #include #include #include //htons: 엔디안 변경 struct eth_hdr{ //이더넷 헤더 unsigned char h_dest[6]; //이더넷 목적지 주소 6바이트 unsigned char h_source[6]; //이더넷 출발지 주소 6바이트 unsigned short h_type; //다음 패킷 타입 정보 2바이트 } __attribute__((packed)); struct arp_hdr{ //..

tcp라는 이름의 pcap파일을 열어 본다 tcp니까 일단 tcp stream으로 내용을 확인한다 RSA 공개키 정보가 주어졌다 n과 e와 암호화 된 플래그가 있다 e값이 0x10001인데, DEC으로 65537이다 평범한 e값이므로 생각할 수 있는 공격은 n이 DB에 존재하는 소수의 곱이라, 직접 소인수분해를 해서 p, q값을 얻는 방법이다 이런 경우 보통 홈페이지를 이용하므로 여기서 n값을 수인수 분해한 값을 찾아본다 www.factordb.com/ p, q값을 구했으니까 (p-1)*(q-1)로 phi값을 구한다 from gmpy2 import * e = 65537 p = 17389782022211581231 q = 17636271256155186269 phi = (p-1)*(q-1) n=p*q d ..

사내 게시판에 불법 게시물이 몇개 올라왔다가 삭제되었다는 보고를 받았다. 패킷캡쳐로그를 분석하여 해당 게시물을 올린 계정의 id/pw와 글의 내용을 조사하라. 문제에서 볼 내용은 게시판, 게시물, 업로드 후 삭제했다는 내용이다 게시판이니까 웹이라 http를 필터링 하고 object list를 뽑아본다 register.php에서 회원가입하고 write.php에서 게시물을 적고 delete.php가 삭제한 것 같다 이게 다 한 사람이 했는지랑 해커인지를 확인해 보아야 한다 가입, 로그인한 패킷에 가 본다 chk를 보면 POST방식으로 보내져서 item내용이 다 노출되어 있다 id는 guest, pw는 guest 등등으로 가입하고 로그인을 했다 게시글을 하나 썼는데 그냥 평범하다 그 다음 register.ph..