본문 바로가기

전체 글

(12)
딥러닝 소개 www.youtube.com/watch?v=CS4cs9xVecg 학습 목표 - Deep learning을 포함해 새로운 Neural Network를 설계하는 방법, 데이터를 가지고 학습하는 방법을 배워 고양이 인식기 만들기 - NN 작동원리 및 하이퍼 파라미터 조율, bias와 variance를 찾는 방법, 최적화 알고리즘 - ML 프로젝트 설계 방법 - 이미지에 적용되는 CNN 모델 구축 방법 l Deep learning - 사물이나 데이터를 군집화하거나 분류하는 데 사용하는 기술 - 다층구조 형태의 신경망을 기반으로 하는 머신 러닝의 한 분야 l Neural Network - 신경망란 입력(x)와 출력(y)를 매칭해주는 함수를 찾는 과정 - 충분한 데이터가 주어지면 더 잘 알아낼 수 있음 - 해당 뉴..
포트 스캐너 개발 Port 포트 • 프로그램이 네트워크 통신을 위하여 소켓에 부여한 번호 Ex) FTP는 20, 21번 사용, SSH는 22번, Telnet은 23번 사용 등 • 포트를 열어 놓으면 언제든 통신이 가능하나, 공격자에게 취약점을 노출시킬 수 있음 포트 스캐너 • 정보수집의 단계로, 공격 대상이 어떤 취약점을 가지고 있는지 파악하는 작업 • 실무에서는 공격자들로부터 취약점 노출을 최소화하기 위해 포트 스캔을 정기적으로 사용 • 사용하지 않는 포트들을 관리하여 불필요한 외부 접촉을 줄이는 등의 노력을 함 포트 번호 • 컴퓨터 내에서 프로그램이 소켓을 요청할 때 부여하는 번호 • 수많은 소켓들을 관리하기 위해 사용 • 포트 번호를 스캔한다 → 컴퓨터 내부로 들어갈 수 있는 길을 찾는 것 TCP • 신뢰성 있는 통..
백도어 개발 백도어 (Back door) 개념 백도어란? 운영체제나 프로그램등을 만들 때 정상적인 인증 과정을 거치지 않고, 운영체제나 프로그램 등에 접근할 수 있도록 만든 일종의 뒷구멍 같은 개념 넓은 의미에서 설계자나 관리자에 의해 남겨진 시스템의 보안 허점 (익스플로잇)을 뜻하기도 함. 프로그램 개발이나 유지 보수, 유사시 문제 해결 등을 위해 시스템 관리 자, 혹은 설계자가 일부러 남겨놓기도 함.(액세스 효율 증대) 백도어의 종류 - 로컬 백도어 - 원격 백도어 - 패스워드 크래킹 백도어 - 시스템 설정 변경 백도어 - 트로이 목마 형태의 프로그램 - 거짓 업그레이드 - login 백도어 - telnetd 백도어 - Service 백도어 - Cronjob 백도어 - 라이브 러리 백도어 - 커널 백도어 - 파일..
FTTP 프로토콜 HTTP 프로토콜 Hyper Text Transfer Protocol : 웹을 구현하기 위한 네트워크 프로토콜 HTTP 프로토콜의 특징 - 간단 - 확장이 가능 - Stateless - Connectionless (클라이언트가 요청을 한 후 응답을 받으면 연결을 끊음) - 세션(session)이 있음 - 신뢰할 수 있거나 메시지 손실이 없는 연결을 요구 (TCP/TLS) - 수신자 측에 의해 요청이 초기화 되는 Client-Server 프로토콜 - 쿠키를 통해 흔적을 남겨 연결 유지 HTTP 통신 Client=>Server : TCP or TLS 통해 HTTP 요청 전송 Web Server : HTTP 요청 처리 Server=>Client : HTTP 응답, 결과 반환 HTTP 구조 메소드(Method)..
FTP 프로토콜 소켓 소켓이란? 네트워크 상에서 클라이언트 프로그램과 서버 프로그램간 양방향 통신 엔드 포인트. 프로세스가 데이터를 보내거나 받기 위해 반드시 소켓을 열어서 소켓에 데이터를 작성하거나 소켓으로부터 데이터를 읽어야한다. TCP/IP Socket 통신 클라이언트 프로그램과 서버 프로그램은 각각 포트를 통해 통신해야 한다. Server Socket : 서버 프로그램에서 사용하는 소켓으로, 클라이언트로부터 연결 요청을 기다렸다가 요청 발생 시 클라이언트와 연결을 맺거나 혹은 또 다른 소켓을 만드는 일을 한다. Client Socket : 요청 대기가 필요 없으며, 바로 소켓을 생성하고 서버 프로그램에 연결 요청 및 데이터를 전송한다. HTTP 통신 Client의 요청(Request)이 있을 때만 서버가 응답(R..
7장 백신 프로그램 우회 백신 프로그램 우회하기 우리가 원하는 TCP 포트에 cmd.exe를 바인딩할 간단한 윈도우 바인드쉘(bindshell)을 사용 => 공격자가 원격에서 컴퓨터에 연결하여 cmd.exe로 작업할 수 있게 됨. 찾아보니 2019년부터 msfpayload와 msfencode가 msfvenom으로 통합되었다고 한다. 넌 대체 뭐가 문제인거니? 쉘코드를 알아야 뒤를 할텐데 이거 참 큰일이다. 하지만 방법이 없다. 와 이거 진짜 어떡할까? 하지만 방법이 정말 없다. 노력을 해보았다. 노력은 사람을 배신하기도 한다. 내용이 계속 연결되어 있어 더 이상 실습은 의미가 없을 것 같아 내용 정리만 하겠다. - 위의 스크립트는 파이썬 인터프리터가 설치되어 있는 윈도우에서 실행됨 - Pyinstaller를 설치, 파이썬 스크립..
6장 정보수집 MECHANIZE 라이브러리로 인터넷 검색하기 외부 라이브러리 Mechanize는 http://wwwsearch.sourceforge.net/mechanize/ 에서 다운로드할 수 있다. Mechanize의 주요 클래스인 Browser는 브라우저에서 조작할 수 있는 모든 부분을 파이썬에서 조작할 수 있게 한다. 뭐 어떻게 하다보니까 다운로드가 됐다. 역시 사람은 노력을 해야한다. Mechanize로 웹 사이트의 소스코드를 가져오는 스크립트이다. HTML 코드와 www.syngress.com 의 인덱스 페이지를 출력하는 것을 볼 수 있다. 익명유지 - 프록시, User-Agent, 쿠키 추가하기 ->웹 서버가 사용자 식별 위해 요청의 IP 주소를 기록(이는 사용자가 VPN이나 Tor 네트워크를 사용하면 완..
5장 무선 기기 해킹 무선 공격 환경 구축하기 백트랙 5의 디폴트 드라이버 - 사용자가 무선 기기를 모니터 모드로 작동시키거나 프레임을 전송할 수 있게 함 - 카드에 고성능 안테나를 부착할 수 있게 해주는 외부 안테나 연결을 포함 Scapy로 테스트하기 깔끔하게 처음부터 실패! 무선 트래픽을 캡쳐할 수 있는지 간단히 테스트한다. 당연히 실패! 파이썬 블루투스 패키지 설치하기 파이썬으로 블루투스 관련 스크립트를 작성하기 위해서 Linux Bluez API에 대한 파이썬 바인딩을 활용한다. 근데 왜 unable하다는걸까? 이 장의 스크립트에서는 SENA Parani UD100 Bluetooth USB Adapter를 사용한다. 운영체제에서 이 기기를 인식하는지 테스트하기 위해 config 명령어인 hciconfig를 실행한다. ..